SlideShare a Scribd company logo
âOò îIN™âOò îIN™âOò îIN™âOò îIN™âOò îIN™ JAVA
ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡
ELIYATHAMIZHIL- JAVA
By BAKIYANATHAN
Published By:
Bakkiam Consultancy Services (BCS)
Old No: 60, New No: 127,
Angappa Naicken Street,
Parrys, Chennai-600001
All Rights Reserved by BCS
âOò îIN™âOò îIN™âOò îIN™âOò îIN™âOò îIN™ JAVA
¹°‹º¡:¹°‹º¡:¹°‹º¡:¹°‹º¡:¹°‹º¡:
îèõ™ ªî£N™ ¸†ðˆ ¶¬øJ™ å¼ ¹Fò ñÁñô˜„CJ¬ù
ãŸð¢ð´ˆFò ªñ£N JAVA â¡ø£™ ܶ I¬èò£è£¶. Iè‚ °ÁAò è£ôˆF™
àôè‹ º¿õ¶‹ HóCˆî‹ ªðŸÁ ð™«õÁ ܽõôèƒèO½‹ Þ¡Á JAVA
ðò¡ð´ˆîŠð´Aø¶. JAVA -M¡ Þ‰î Mòˆî° õ÷˜„C‚° Internet -¡
ðò¡ð£´èœ èì‰î Cô ݇´èO™ ÜFèKˆî«î è£óíñ£°‹. ãªùQ™
JAVA -M™ Internet -ä„ ê£˜‰î ¹«ó£Aó£‹è¬÷ âO¬ñò£è â¿î Þò½‹.
«ñ½‹ âŠð®Šð†ì Application Program -è¬÷ «õ‡´ñ£ù£½‹ â¿F‚
ªè£œ÷ Þò½‹. ÞõŸ¬ø M쾋 JAVA Hóðôñ£ù º‚Aò è£óí‹
å¡Á Þ¼‚Aø¶. ܶ JAVA Þôõêñ£è A¬ì‚A¡ø¶. Þî¬ù Internet -™
Þ¼‰¶ Þôõêñ£è Download ªêŒ¶‚ ªè£œ÷ô£‹.
Þ‰î ¹ˆîèˆF™ JAVA -M¡ ܬùˆ¶Š ðò¡ð£´è¬÷»‹ Iè
ªîOõ£è Cø‰î â´ˆ¶‚裆´èœ Íô‹ M÷‚AJ¼‚A«ø¡. Þî¡
Ü®Šð¬ì‚ «è£†ð£´èO™ Þ¼‰¶ ¸µ‚èñ£ù ܬùˆ¶ ¹«ó£Aó£Iƒ
º¬øèÀ‹ ÞQò îIN™ âOò ï¬ìJ™ M÷‚èŠð†´œ÷ Þ‰î
¹ˆîè‹ îƒèÀ‚° I°‰î ðòùO‚°‹ â¡Á à÷ñ£ø A«ø¡.
õ£›ˆ¶‚èÀì¡,õ£›ˆ¶‚èÀì¡,õ£›ˆ¶‚èÀì¡,õ£›ˆ¶‚èÀì¡,õ£›ˆ¶‚èÀì¡,
ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡
4
ªð£¼÷ìè¢èñ¢ªð£¼÷ìè¢èñ¢ªð£¼÷ìè¢èñ¢ªð£¼÷ìè¢èñ¢ªð£¼÷ìè¢èñ¢
âíâíâíâíâí¢¢¢¢¢ Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ ðè¢èñðè¢èñðè¢èñðè¢èñðè¢èñ¢¢¢¢¢
1 Java - ºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õ 5
2 Object-Oriented Programming 23
3 Applets ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ Application 42
4 JavaDraw å¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ù Drawing ¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢ 74
5 Swing - Java Foundation Classes (JFC) 95
6 Java Database Connectivity (JDBC) 120
7 Thread 130
8 Files 140
9 Calander - ¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢ 147
5
Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 1.
Java - ºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õ
õóô£Áõóô£Áõóô£Áõóô£Áõóô£Á
Sun Micro System â¡Â‹ ܪñK‚è GÁõù‹ 1991 -‹ ݇´ õ£‚A™
Java ªñ£NJ¬ù à¼õ£‚Aò¶. ܉î è£ô è†ìˆF™ ܉GÁõù‹ TV, VCR
ºîLò âªô‚®ó£Q‚ àðèóíƒèO™ ðò¡ðì‚îò ªñ¡ ªð£¼œè¬÷
à¼õ£‚°‹ ºòŸCJ™ Þ¼‰î¶. Ü âO¬ñò£è¾‹, «õèñ£è¾‹,
I辋 FøÂœ÷î£è¾‹ ñŸÁ‹ CPòî£è¾‹ Þ¼‚è‚îò ¹«ó£Aó£‹èœ
«î¬õŠð†ìù. «ñ½‹ ܬõ ܬùˆ¶ õ¬èò£ù Hardware
àðèóíƒèO½‹ ðò¡ðì‚îòî£è¾‹ Þ¼‚è «õ‡®ò ÜõCòI¼‰î¶.
Þ‰î ܬùˆ¶ âF˜ð£˜Š¹è¬÷»‹ ̘ˆF ªêŒ»‹ õ¬èJ™ Java ªñ£NJ¬ù
à¼õ£‚Aù£˜èœ.
Java -ªñ£NJ¬ù ð™«õÁ ¹«ó£ªü†èO™ Sun GÁõùˆî£˜
ðò¡ð´ˆFJ¼‚A¡øù˜, â¡ø£½‹ 1994 -‹ õ¼ì‹ Hot Java Browser â‹
ªñ¡ªð£¼œ ªõOò£ù ªð£¿¶î£¡ Þ¶ Hóðôñ¬ì‰î¶.
Java Development Kit (JDK)
Java â‹ ªê£™ Java Development Kit â¡ðî¬ù«ò °P‚A¡ø¶. Kit
â¡Â‹ ªê£™LŸ° ð™ªõÁ ªð£¼œè¬÷ ªè£‡ì ªî£°Š¹ â¡Á ªð£¼œ.
Java -M™ ð™ªõÁ «õ¬ôè¬÷ ªêŒõîŸè£è îQˆîQò£è ðô Tool -èœ
Þ¼‚A¡øù. ÜõŸP¡ Æ´ˆ ªî£°Š«ð Java Development Kit ݰ‹.
àî£óíñ£è cƒèœ å¼ Java ¹«ó£Aó£I¬ù à¼õ£‚AJ¼‚A¡l˜èœ
â¡ø£™ Üî¬ù Compile ªêŒõè¡Á javac â‹ Compiler Tool
Þ¼‚A¡ø¶. Þî¡ Íô‹ Compile ªêŒòŠð†´ à¼õ£‚èŠð´‹ Object File-
è¬÷ Þò‚°õ java â¡Â‹ Tool Þ¼‚A¡ø¶. Þ¶«ð£¡Á æõ¢ªõ£Á
ðE‚° â¡Á îQˆîQò£è Tool -èœ Þ¼‚A¡øù. Þ‰î Tool -èO¡
ªî£°Š«ð Java. Þ‰î JDK -¡ ð£¬îò Version Ýù¶ 1.2 ݰñ¢. Üî£õ¶
JDK 1.2 -õ¤¬ù   Java Version 2 â¡Á ܬö‚A¡«ø£‹. Þ‰î
JDK1.2-õ¤¬ù  Sun Micro System -F¡ http://Java.Sun.com Þ¬íò
î÷ˆFL¼‰¶ Þôõêñ£è Download ªêŒ¶ ªè£œ÷ Þò½‹.
Þ‰î JDK -õ¤¬ùî¢ îM˜ˆ¶ «õÁ Cô Java -èÀ‹ Þ¼‚A¡øù.
ÜõŸ¬øŠ ðŸP»‹ cƒèœ ÜP‰¶ ªè£œ÷ «õ‡´‹. ܶ Þ¡Pò¬ñò£î¶.
6
Microsoft Visual J++
Borland JBuilder
Symantec Cafe Lite
ºîô£ù ªñ¡ªð£¼œè¬÷Š ðŸP «èœMŠð†®¼‚Al˜è÷£. Þ¬õ»‹
Java ªñ£Nèœî£¡. Ýù£™ Þ¬õ Integrated Development Environment (IDE)
â¡Â‹ õ¬èJ¬ù ꣘‰î Sun Micro System îM˜ˆ¶ ð¤ø è‹ªðQè÷£™
MŸ‚èŠð´‹ ªñ¡ªð£¼œ ݰ‹.
Integrated Development Environment â¡ð¶ º¿‚è º¿‚è ²ôðñ£ù
º¬øJ™ Visual Basic ºîô£ù ªñ¡ªð£¼œèO™ ¹«ó£Aó£‹è÷¢ â¿¶õ¶
«ð£ù¢ø º¬øò£°ñ¢. «ñø¢ªê£ù¢ù Java -è÷¤ô¢ ¹«ó£è¤ó£ñ¢è÷¢ â¿îõ¶
ªõ° ²ôðñ£è Þ¼‚°‹. Üî£õ¶ «õ‡®ò Object -è¬÷ Windows -™
Mouse -¡ ¶¬í‚ ªè£‡´ õ¬ó‰¶ «î¬õò£ù property setting -°è¬÷
ªêŒ¶‚ ªè£œ÷ º®»‹.
Ýù£™ JDK1.2 -ä ðò¡ð´ˆ¶«õ£«ñò£ù£™ º¿‚è º¿‚è
ܬùˆFŸ°‹  ¹«ó£Aó£‹è¬÷ â¿Fò£è «õ‡´‹. Þ‰î𢠹ˆîèˆF™
JDK1.2 -ä ªè£‡«ì ܬùˆ¶ â´ˆ¶‚ 裆´è¬÷»‹ ªêŒF¼‚A¡«ø£‹.
Java -ä cƒèœ Þ¬íò î÷ˆFL¼‰¶ Download ªêŒî£½‹ êK Ü™ô¶
㟪èù«õ CD-ROM -™ Þ¼‰¶ Copy ªêŒî£½‹ ÜõŸ¬ø ºîL™
Decompress ªêŒò «õ‡´‹. Java ªð£¶õ£è àƒèœ èEªð£PJ™
C:JDK1.2> â¡ø Sub Directory - ò¤ô¢ Install ÝAJ¼‚°‹. Java âù¢ø£ô¢ Java
Development Kit â¡Á 㟪èù«õ ÜP‰F¼‚A¡«ø£‹.
C:JDK1.2> â¡ø Sub Directory à¼õ£‚èŠð†´ ÜF™ W«ö
ªè£´‚èŠð†®¼‚°‹ ܬùˆ¶ Tool -èÀ‹ Install ÝAJ¼‚°‹. Þ¬õ
嚪õ£¡Á‹ å¼ °PŠH†ì «õ¬ôè¢è£è ðò¡ð´A¡øù.
܆ìõ¬í܆ìõ¬í܆ìõ¬í܆ìõ¬í܆ìõ¬í 1.1
TOOL M÷‚è‹M÷‚è‹M÷‚è‹M÷‚è‹M÷‚è‹
Appletviewer Java -™ â¿îŠð´‹ Applet â‹ õ¬èJ¬ù
꣘‰î ¹«ó£Aó£‹èœ ê K ò £ è
Þòƒ°A¡øùõ£ â¡ðî¬ù êK𣘊ð
ðò¡ð´‹ Tool ݰ‹. ªð£¶õ£è Applet -èœ Browser -èO™
Þòƒ°‹ â¡ðî¬ù G¬ùM™ ªè£œè.
7
Jar Þ¶ Java Archive Tool âùŠð´‹. Þî¡ Íô‹ ðô
Java File -è¬÷ å«ó å¼ Java Archive File (Jar)
Ýè ñ£ŸP‚ ªè£œ÷ Þò½‹.
Java Þ¶ Java Interpreter ݰ‹. Þî¡ Íô‹ Java
¹«ó£Aó£‹è¬÷ Þò‚°A¡«ø£‹.
Javac Þ¶ Java Compiler ݰ‹. Þî¡ Íô«ñ Java
¹«ó£Aó£‹è¬÷ Compile ªêŒA¡«ø£‹.
Java doc Þ¶ å¼ Documentation Generator ݰ‹. Þî¡
Íô‹ Source Code -èO™ Þ¼‰¶ File-è¬÷
à¼õ£‚è Þò½‹.
Javah Þ¶ ð£ó‹ðKò C ªñ£N File Generator ݰ‹. Þî¡
Íô‹ C ªñ£NJ¡ Header File -èœ ñŸÁ‹ Source
File -èœÝAòõŸ¬ø à¼õ£‚è Þò½‹.
Java Key Þ¶ Java Digital Key Tool ݰ‹. Þ¶ Jar File -èO™
Digital signature -è¬÷ à¼õ£‚°õð¢ ðò¡
ð´Aø¶.
Javap Þ¶ å¼ Disassambler ݰ‹. Þî¡ Íô‹Java
Byte Code- è¬÷  ¹K‰¶‚ªè£œÀ‹ õ®õˆF™
ñ£ŸP‚ ªè£œõîŸ°Š ðò¡ð´Aø¶.
Jdb Þ¶ å¼ debugger ݰ‹. Java ¹«ó£Aó£I™ àœ÷
îõÁè¬÷ Command Line -™ Þ¼‰¶ ªè£í¢´
F¼ˆ¶õð¢ ðò¡ð´Aø¶.
Jve Þ¶ Java Runtime Interpreter ݰ‹. Java Tool -ä
«ð£ô Þî¬ùŠ ðò¡ð´ˆF»‹ Application -è¬÷
Þò‚A‚ ªè£œ÷ô£‹. Ýù£™ Java Tool -™
Þ¼‚è îò ðô Option -èœ ÞF™ Þ™¬ô.
Native2ascii Non Unicode Latin -1 õ¬è¬ò ꣘‰î Source File
è¬÷ Unicode Latin -1 File -è÷£è ñ£ŸÁõð¢
ðò¡ð´A¡ø¶.
Rmtc Þ¶ Remote Method Invocation Complier ݰ‹.
Þî¡ Íô‹ Stub ñŸÁ‹ Sklleton Class File -èœ
Java object -èÀè¢è£è à¼õ£‚èð†´ ÜõŸ¬ø
8
Java rmi Remote â‹ Interface -™ ðò¡ð´ˆî
Þò½‹.
Rmiregistry Þ¶ å¼ Remote object registry tool ݰ‹. «ñ½‹
Þ¶ RMI Server -èO™ BootStrap naming Service-
è¬÷ê¢ ªêŒA¡ø¶.
Serial var Þ¶ Serial Version Tool ݰ‹. Þî¡ Íô‹ Serial
Verion UIP â‹ ñFŠH¬ù ܬùˆ¶ Class-
èO™ Þ¼‰¶‹ ªðŸÁ‚ ªè£œ÷ º®»‹.
cƒèœ ªõŸPèóñ£è Java -¬õ àƒèœ èEŠªð£PJ™ Install ªêŒîHø°
Cô Environment Variable -è÷¤ô¢ ñ£ø¢øé¢è÷¢ ªêŒò «õ‡´‹. Üî£õ¶ àƒèœ
Autoexec.bat File -™ Java â‰î Sub directory -™ Þ¼‚A¡ø¶, ÜPò Library-
èœ âƒ° Þ¼‚A¡øù ºîô£ù îèõ™è¬÷ê¢ ªê£™ô «õ‡´‹. Ü
W›è‡ì õKè¬÷ Autoexec.bat File -™ ñ£ŸP‚ ªè£œÀƒèœ.
SET PATH= $PATH$;C:JDK1.2BIN
SET CLASSPATH=C:JDK1.2Classes;C:JDK1.2 LibClasses.zi
Autoexec.bat â¡ð¶ C: -™ Þ¼‚èîò ê£î£óí TextFile .
Üî¬ù ãî£õ¶ å¼ ê£î£óí Text Editor -™ Open ªêŒ¶‚ ªè£œ÷ô£‹.
Java -M™ â¡ù ªêŒò Þò½‹M™ â¡ù ªêŒò Þò½‹M™ â¡ù ªêŒò Þò½‹M™ â¡ù ªêŒò Þò½‹M™ â¡ù ªêŒò Þò½‹
ªð£¶õ£è Java -õ¤ô¢ Applet ñŸÁ‹ Application ÝAò Þó‡´ õ¬è
¹«ó£Aó£‹è¬÷ à¼õ£‚°A¡«ø£‹. Applet â¡ð¶ Internet Browser -èO™
Þòƒèîò¶. ²¼ƒèè¢ÃP¡ Internet -™ ðò¡ð´‹ ¹«ó£Aó£‹èœ. Application
â¡ð¶ ê£î£óíñ£è  â¿¶‹ ñŸø â™ô£ ¹«ó£Aó£‹è¬÷»‹ °P‚°‹.
ºî™ºî™ºî™ºî™ºî™ Java ¹«ó£A󣋹«ó£A󣋹«ó£A󣋹«ó£A󣋹«ó£Aó£‹
Þƒ«è W«ö ªè£´‚èŠð†®¼‚°‹ ¬ìò ºî™ Java ¹«ó£Aó£I¬ù
ÜŠð®«ò ãî£õ¶ å¼ Text Editor -™ ¬ìŠ ªêŒ¶ ªè£œÀƒèœ. H¡ù˜
Ü First.Java â¡Á ªðòK†´ Save ªêŒ»ƒèœ.
9
first.java
class first
{
public static void main (String arg[ ])
{
System.out.println(“Welcome to the world of Java”);
}
}
MS-DOS Prompt -Ÿ° õ‰¶M´ƒèœ. Ü Start--->Program--->Ms-Dos
Prompt â‹ è†ì¬÷¬òŠ ðò¡ð´ˆ¶ƒèœ.
ðì‹ðì‹ðì‹ðì‹ðì‹ 1.1
Þšõ£Á Þ™¬ôªòQ™ Windows -¡ Start Menu -M™ àœ÷ Run
è†ì¬÷¬ò AO‚ ªêŒ»ƒèœ. ܃°
ðì‹ðì‹ðì‹ðì‹ðì‹ 1.2
10
«ñ«ô àœ÷õ£Á Command â¡Á ¬ìŠ ªêŒ»ƒèœ. ÞŠªð£¿¶
MS-DOS Prompt -Ÿ° õ‰¶ Þ¼Šd˜èœ ܃°
cd  jdk1.2
â¡Á ¬ìŠ ªêŒ»ƒèœ. jdk1.2 â‹ Folder -‚°œ ªê¡Á M´ƒèœ.
Þ‰î Folder -™  cƒèœ àƒèœ Source File - è¬÷ à¼õ£‚AJ¼‚A¡l˜èœ
â¡Á ¬õˆ¶‚ ªè£‡ì£™ ÞƒA¼‰¶
C:JDK1.2>edit first.java
â¡Á ¬ìŠ ªêŒ»ƒèœ. Edit â¡Á MS-DOS -™ Þ¼‚°‹ å¼ Text
Editor ݰ‹. Üî¬ùŠ ðò¡ð´ˆF  ¬ìò Java Source Code - è¬÷
â¿F ªè£œ÷ Þò½‹.
ðì‹ðì‹ðì‹ðì‹ðì‹ 1.3
Þƒ° ¹«ó£Aó£I¬ù ¬ìŠ ªêŒ¶ Save ªêŒ¶ M†´ ªõOJ™ õ‰¶
M´ƒèœ.
ÞŠªð£¿¶  ¬ìŠ ªêŒî Source File -ä Compile ªêŒò «õ‡´‹.
Ü javac â¡Â‹ Tool ðò¡ð´Aø¶. W«ö è‡ìõ£Á è†ì¬÷¬ò‚
ªè£´ƒèœ.
11
C:JDK1.2 >javac first.java
Þ‰î javac â¡Â‹ Compiler Tool Ýù¶ ¬ìò ¹«ó£Aó£‹
º¿õ¬î»‹ Compile ªêŒ¶ Üî¬ù Byte coded class file Ýè à¼õ£‚Aˆ
î¼A¡ø¶. Þð¢ªð£¿¶ first.class âù¢Âñ¢ ¹î¤ò file åù¢Á à¼õ£è¤ò¤¼è¢°ñ¢.
܉î file -ä   Þò‚è «õ‡´‹. Ü H¡õ¼ñ£Á è†ì¬÷¬ò‚
ªè£´ƒèœ.
C: JDK1.2> java first
Þƒ° java â¡Â‹ Tool, First â¡Â‹ Byte coded Class File -ä
Þò‚°A¡ø¶. 𣿶 cƒèœ W«ö è£‡ð¶ «ð£¡ø å¼ Result-ä
裇d˜èœ.
Welcome to the world of Java
°Pй°Pй°Pй°Pй°Pй
Java ¹«ó£Aó£‹è¬÷ â‰î Text Editor -™ «õ‡´ñ£ù£½‹ à¼õ£‚èô£‹.
Ýù£™ Ü extention Ýù¶ è†ì£òñ£è .java â¡Á Þ¼‚è «õ‡´‹.
Þšõ£Á à¼õ£‚èŠð†ì Source File -ä javac â¡Â‹ Compiler Íô‹ Compile
ªêŒò «õ‡´‹. ¹«ó£Aó£I™ ãî£õ¶ îõÁèœ Þ¼‰î£™ Compiler ܉î
îõÁè¬÷è¢ è£ì¢´‹. Üõø¢¬øê¢ êó¤ ªêò¢¶ e‡´‹ Compile ªêŒò «õ‡´‹.
îõÁèœ õó£î ð†êˆF™ java â¡Â‹ Tool -ä ªè£‡´ class file -è¬÷
Þò‚A‚ ªè£œ÷ô£‹.
Java Language Cô Ü®Šð¬ì ¹«ó£Aó£Iƒ º¬øèœCô Ü®Šð¬ì ¹«ó£Aó£Iƒ º¬øèœCô Ü®Šð¬ì ¹«ó£Aó£Iƒ º¬øèœCô Ü®Šð¬ì ¹«ó£Aó£Iƒ º¬øèœCô Ü®Šð¬ì ¹«ó£Aó£Iƒ º¬øèœ
ªð£¶õ£è â‰î èEŠªð£P ªñ£NJ™ ¹«ó£Aó£‹è¬÷ â¿Fù£½‹,
¹«ó£Aó£‹èO™ ° º‚Aò àì¢ÃÁèœ Þ¼‚A¡øù. cƒèœ C, C++,
Oracle, Visual Basic â¡Á â‰î ªñ£NJ™ ¹«ó£Aó£‹è¬÷ ÞòŸPù£½‹
ÜõŸP™ âˆî¬ù õKèœ Þ¼‰î£½‹ ܬõò¬ùˆ¶‹ W›è£µ‹ Þ‰î
° HK¾èO™ õ‰¶ M´‹. ܬõ
1) Statements
2) Conditions
3) Branchings
4) Loopings
Statements
¹«ó£Aó£I™  ðò¡ð´ˆ¶‹ 嚪õ£¼ è†ì¬÷»‹ å¼ Statements
ݰ‹. cƒèœ å¼ Variable -ô¤¬ù à¼õ£‚èô£‹. Ü™ô¶ ܉î Variable-
12
èO™ Cô ñFйè¬÷ GóŠðô£‹, ñŸÁ‹ Calculation -è¬÷ê¢ ªêŒòô£‹.
Þ¶ «ð£¡Á cƒèœ ªè£´‚°‹ ðô è†ì¬÷èœ Statement -è÷£è
Þ¼‚A¡øù.
Conditions
å¼ ¹«ó£Aó£I™ Decision Making Statements â¡ø¬ö‚èŠð´‹
è¡®û¡èœ è†ì£ò‹ Þ¼‚°‹. â´ˆ¶‚裆ì£è å¼ ðœOJ™
ñ£íõ˜èO¡ «î˜¾ ñFŠªð‡è¬÷ ¬èò£œõ å¼ ¹«ó£Aó£‹
â¿¶A¡«ø£‹ â¡Á ¬õˆ¶‚ªè£‡ì£™ ܉î ñ£íõ¡ îI›, ݃Aô‹,
èEî‹, ÜPMò™, êÍè ÜPMò™ â¡Á ܬùˆ¶ ð£ìƒèO½‹ 40 Ü™ô¶
Ü «ñŸŠð†ì ñFŠªð‡è¬÷ ⴈ  «î˜„C ªðø «õ‡´‹.
Þ™¬ôªòQ™ «î˜„C»øè¢Ã죶 â¡Â‹ G¬ôJ™  â¿î‚îò
if condition -è¬÷«ò Conditions â¡Á ܬö‚A¡«ø£‹. è¡®û¡èœ
Þ™ô£ñ™ ¹«ó£Aó£‹è÷¢ â¿¶õ¬î èŸð¬ù Ãì ªêŒ¶ ð£˜‚è º®ò£¶.
Branching
å¼ ¹«ó£Aó£I™ ðô ¶¬íŠ ¹«ó£Aó£‹èœ (Sub Programs i.e, Procedures
and Functions) â¿îŠð†®¼‚°‹. Üî£õ¶ å¼ °PŠH†ì ¹«ó£Aó£‹
â¿¶‹ªð£¿¶ º¿ ¹«ó£Aó£I¬ù»‹ ªî£ì˜„Cò£è â¿î Þòô£¶.
°PŠH†ì ðEèÀ‚è£è îQˆîQò£è ¹«ó£Aó£‹è¬÷ ªõõ¢«õÁ
Þìé¢è÷¤ô¢ â¿î¤è¢ ªè£÷¢÷ô£ñ¢. Þõ¢õ£Á «õÁ Þìé¢è÷¤ô¢
â¿îð¢ð좮¼è¢°ñ¢ ¹«ó£è¤ó£ñ¢è¬÷ ñŸø â‰î ¹«ó£Aó£IL¼‰¶ñ¢ Þò‚A
ªè£œ÷ô£‹. Üšõ£Á Þò‚°‹ªð£¿¶ ¹«ó£Aó£‹ Ýù¶ å¼ ÞìˆF™
Þ¼‰¶ î£M ñŸªø£¼ ÞìˆFŸ° ªê¡Á ÞòƒAò H¡ e‡´‹ ð¬öò
G¬ô‚° F¼‹H Þòƒ°‹ º¬øJ¬ùî¢î£¡ Branching â¡Á ÃÁA¡«ø£‹.
ªð£¶õ£è ܬùˆ¶ ¹«ó£Aó£Iƒ ªñ£NèO½‹ ð™«õÁ Procedures and
Functions ÝAò¬õ Þ¼‚A¡øù. ÜõŸ¬ø  Branching º¬øJ™ 
ðò¡ð´ˆF‚ ªè£œA«ø£‹.
Looping
¹«ó£Aó£IƒA™ Loop -èO¡ ðƒ° ñèˆî£ù¶. å¼ °PŠH†ì Condition
F¼ŠFð´‹ õ¬ó å¼ °PŠH†ì ¹«ó£Aó£ñ¤ù¢ õKèœ F¼‹ð F¼‹ð
Þòƒ°‹ º¬øJ¬ù«ò Loop â¡Á ܬö‚A¡«ø£‹. â´ˆ¶è£†ì£è 1 -™
Þ¼‰¶ 1000 õ¬ó â‡èœ F¬óJ™ ªîKò ¬õ‚è «õ‡´ªñQ™ 
1000 õKè÷¤ô¢ ¹«ó£Aó£‹ â¿î Þòô£¶. Üð¢ ðFô£è å¼ Loop -¬ù
13
ܬñˆ¶ ܉î Loop Ýù¶ 1000 îì¬õ Þòƒ°ñ£Á ܬñˆ¶ Üîœ
ïñ¶ ¹«ó£Aó£‹è¬÷ â¿F ªè£œ÷ «õ‡´‹.
Datatypes ñŸÁ‹ñŸÁ‹ñŸÁ‹ñŸÁ‹ñŸÁ‹ Variables
ïñ¶ Java ¹«ó£Aó£I™ ð™«õÁ ñFйè¬÷ ¬èò£œõ Variable-
è¬÷ à¼õ£‚°«õ£‹. Üšõ£Á Variable -è¬÷ à¼õ£‚°‹ªð£¿¶ ÜõŸP™
â‰î õ¬èò£ù ñFйè¬÷ð¢ ðFò «ð£A¡«ø£‹ â¡Á Ãø «õ‡´‹.
Üî¢î£¡ Datatype -èœ ðò¡ð´A¡øù.
C ªñ£NJ™ Þ¼Šð¶ «ð£¡«ø Java -M½‹ int, char, float ºîô£ù
Datatype -èœÞ¼è¢è¤ù¢øù. ÞõŸP™ ªõÁ‹ â‡è¬÷ ¬èò£œõ int
Data Type -ä ðò¡ð´ˆ¶A¡«ø£‹. â‡èO½‹ 123.456 ºîô£ù
ñFйè¬÷ð¢ ðFŠð float Data Type ðò¡ð´A¡ø¶. ⿈¶‚è¬÷
¬èò£œõ char Data Type ðò¡ð´A¡ø¶.
Þ‰î Data Type -è¬÷ îM˜ˆ¶ ð™«õÁ class -èœ Þ¼‚A¡øù.
ÜõŸ¬ø‚ ªè£‡´  Variable -è¬÷ à¼õ£‚A‚ ªè£œ÷ô£‹. H¡õ¼‹
¹«ó£Aó£I™ Cô Variable -è¬÷ à¼õ£‚A ÜõŸP™ âšõ£Á ñFйè¬÷
ðF‰¶ ¬õŠð¶ â¡ðî¬ù è£íô£‹.
Listing 1.2
class pro1_2
{
public static void main(String arg[])
{
int rollno, tamil, english, maths, science, social, total;
String sname;
float avg;
rollno=1;
sname=”Reena”;
tamil=65;
english=80;
maths=50;
science=90;
social=75;
14
total=tamil+english+maths+science+social;
avg=total/5;
System.out.println(“Roll Number : “ + rollno);
System.out.println(“Student Name : “ + sname);
System.out.println(“Tamil : “ + tamil);
System.out.println(“English : “ + english);
System.out.println(“Maths : “ + maths);
System.out.println(“Science : “ + science);
System.out.println(“Social : “ + social);
System.out.println(“Total : “ + total);
System.out.println(“Average : “ + avg);
}
}
Þ‰î ¹«ó£Aó£I™  rollno, tamil, english, maths, science, social, total
ºîLò Variable -è¬÷ int data type -™ à¼õ£‚AJ¼‚A¡«ø£‹. sname â¡Â‹
Variable -ä String â¡Â‹ Class -ù¢ Object Ýè à¼õ£‚AJ¼‚A¡«ø£‹. Þ‰î
String Class -ä ðò¡ð´ˆ¶õî¡ Íô‹ ªî£ì˜ ⿈¶‚è¬÷ (String °è÷¢)
¬èò£÷ô£‹. avg â¡Â‹ Variable Ýù¶ float data type -™ Þ¼‚A¡ø¶.
à¼õ£‚èŠð†ì Variable -èœ Ü¬ùˆF½‹ ÜõŸPŸ‚°Pò ñFйèœ
ðFòŠð†®¼‚A¡øù. ÜõŸP™ àœ÷ ñFŠ¹èœ Screen -™ Display
ªêŒõîŸè£è System.out.println â¡Â‹ Function àð«ò£A‚èŠð†®¼‚A¡ø¶.
cƒèœ ÞŠªð£¿¶ Ièˆ ªîOõ£è Cô Ü®Šð¬ì Java Programing
º¬øè¬÷ ªîK‰¶ ªè£œ÷ «õ‡´‹. â‰î Java ¹«ó£Aó£I½‹ å¼ class
â¿îŠð†®¼‚°‹. Þ‰î ¹«ó£Aó£I™ class student â¡Á
ªè£´‚èŠð†®¼Šð¬îè¢ èõQ»ƒèœ. class -è¬÷Š ðŸP  ªîOõ£è
H¡õ¼‹ â´ˆ¶è£†´èO½‹, ܈Fò£òƒèO½‹, è£íô£‹.
ªñ£î¢îî¢î¤ô¢ å¼ Java ¹«ó£Aó£ñ£ù¶ å¼ class-¡ àœ Üì颰è¤ù¢ø¶.
Þï¢î class -ù¢ à÷¢ public static void main(String arg[]) â¡ø function
â¿îŠð†®¼Šð¬î èõQ»ƒèœ. Þ‰î function Þ¼ŠH¡  å¼ Java
Application å¡P¬ù â¿¶A¡«ø£‹ â¡Á ªð£¼œ. ¬ìò Java
¹«ó£Aó£‹ Þòƒ°‹«ð£¶ main function -™ Þ¼‰¶  Þòé¢è Ýó‹H‚°‹.
15
H¡õ¼‹ Syntax -ä èõQ»ƒèœ. ÞF™ Þ¼Šð¶ «ð£™  cƒèœ Java
Application -è¬÷ â¿î «õ‡´‹ â¡ðî¬ù G¬ùM™ ªè£œÀé¢è÷¢.
class <Class Name>
{
public static void main(String arg[ ])
{
...
}
}
«ñø¢è¢èí¢ì ¹«ó£è¤ó£ñ¤¬ù 覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ô¢ èñ¢¬ðô¢
ªêò¢¶ Þòè¢è¤ð¢ ð£¼é¢è÷¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 1.4
Operators
¹«ó£è¤ó£ñ¢è¬÷ â¿¶õîø¢° Operator -è÷¤ù¢ ðé¢è÷¤ð¢¹
ñ¤è¾ñ¢ Þù¢ø¤ò¬ñò£î¶ Ýè¤ù¢ø¶. Arithmetic Operators,
Relational Operators, Logical
Operators âù ðô õ¬èè÷£è Operator -è÷¢
Þ¼è¢è¤ù¢øù. +, -, *, / ºîô£ù¬õ Arithmetic Operator
16
-è÷¢ ݰñ¢. Þõø¢¬øè¢ ªè£í¢´ Calculation -è¬÷ê¢ ªêò¢¶ ªè£÷¢÷ô£ñ¢.
<, >, <=, >=, ! =, = = ºîô£ù¬õ Relational Operator -è÷¢ ݰñ¢.
Þõø¢ø¤ô¢ <, > âù¢ð¶ º¬ø«ò Less than ñø¢Áñ¢ Greater than âù¢ðî¬ùè¢
°ø¤è¢è¤ù¢ø¶. <=, >= Ýè¤ò¬õ º¬ø«ò Less than or equal to ñø¢Áñ¢ greater
than or equal to Ýè¤òõø¢¬øè¢ °ø¤è¢è¤ù¢ø¶. ! = âù¢ð¶ not equal to âù¢ðî¬ùè¢
°ø¤è¢è¤ù¢ø¶. == âù¢ð¶ equal to âù¢ðî¬ùè¢ °ø¤è¢è¤ù¢ø¶. Þï¢î Relational
Operator -è¬÷è¢ ªè£í¢´ Þóí¢´ âù¢è÷¤ô¢ â¶ ªðó¤ò¶, ê¤ó¤ò¶, Üô¢ô¶
êññ£è Þ¼è¢è¤ù¢øî£ Üô¢ô¶ Þô¢¬ôò£ «ð£ù¢ø îèõô¢è¬÷ Condition -
è÷¤ô¢ à÷¢ ðòù¢ð´î¢î¤ Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢.
&&, ||, ! ºîô£ù¬õè÷¢ Logical Operator -è÷¢ ݰñ¢. æù¢Á袰ñ¢
«ñø¢ðì¢ì èí¢®ûù¢è¬÷ê¢ êó¤ð£ó¢ð¢ðîø¢° Þï¢î Logical Operator -è¬÷ð¢
ðòù¢ð´î¢¶ è¤ù¢«ø£ñ¢. && âù¢ð¶ Logical AND ݰñ¢. Þóí¢´ Condition -
è÷¢ Þ¼è¢è¤ù¢ø Þìî¢î¤ô¢ Þóí¢´«ñ èì¢ì£òñ£è Ìó¢î¢î¤ ªêò¢òð¢ðì «õí¢´ñ¢
âù¢ø 郎ôò¤ô¢ Þï¢î && (AND Operator) 郎ùð¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
ñ£ø£è Þóí¢´ Condition -è÷¢ Þ¼è¢è¤ù¢ø Þìî¢î¤ô¢ ãî£õ¶ åù¢Á
Ìó¢î¢î¤ò£ù£ô¢ «ð£¶ñ¢ âù¢øõ£Á Þ¼ï¢î£ô¢ Üîø¢° || (OR Operator)
ðòù¢ð´è¤ù¢ø¶. ! âù¢ð¶ not Operator ݰñ¢.
if Condition
ï£ñ¢ ãø¢è¢ªèù«õ Condition -âù¢ø£ô¢ âù¢ù âù¢ðî¬ùð¢ ðø¢ø¤
Üø¤ï¢î¤¼è¢è¤ù¢«ø£ñ¢. 覫ö ªè£´è¢èð¢ð좴÷¢÷ Syntax -¬ùð¢ ðòù¢ð´î¢î¤
if Condition -è¬÷ àð«ò£èð¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
if (bodean Expression)
{
......
}
[else
{
......
}]
Listing 1.3
class pro1_3
{
17
public static void main(String argv[])
{
int x;
int y;
x=30;
y=50;
if (x > y)
{
System.out.println(“X is greater than Y”);
}
else
if (x < y)
{
System.out.println(“Y is greater than X”);
}
else
{
System.out.println(“Both Are Same”);
}
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ x ñø¢Áñ¢ y âù¢Á Þóí¢´ int data type variable -è÷¢
à¼õ£è¢èð¢ð좴 Üõø¢ø¤ô¢ ê¤ô ñî¤ð¢¹è¬÷ ðî¤ï¢¶ Þ¼è¢è¤ù¢«ø£ñ¢.
Þ颰 if Condition -ù¤¬ùð¢ ðòù¢ð´î¢î¤ x -ô¢ à÷¢÷ ñî¤ð¢¹ ªðó¤òî£
Üô¢ô¶ Y -ô¢ à÷¢÷ ñî¤ð¢¹ ªðó¤òî£ âù¢Á èí¢´ ð¤®è¢°ñ¢ ªð£¼ì¢´
¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. ºîô¤ô¢ if condition -ù¤ô¢ x Ýù¶ y -ò¤¬ù
õ¤ì ªðó¤òî£ âù¢ðî¬ùê¢ êó¤ ð£ó¢è¢è¤ù¢«ø£ñ¢. Üõ¢õ£Á Þ¼ð¢ð¤ù¢ Üï¢î
condition -ù¤ù¢ à÷¢«÷ à÷¢÷ ð°î¤ò£ù¶ Þò颰è¤ù¢ø¶. Üîø¢° 覫ö
ªè£´è¢èð¢ð좴÷¢÷ else ð°î¤è÷¢ «õ¬ô ªêò¢ò£¶.
æ¼ «õ¬ô ºîô¤ô¢ ªè£´è¢èð¢ðì¢ì condition ªð£¼ï¢îõ¤ô¢¬ô âù¤ô¢
else ð°î¤ î£ù£è Þò颰è¤ù¢ø¶. Þ颰 else -ù¤ô¢ ñø¢Áªñ£Á if condition
Þ¼è¢è¤ù¢ø¶. Üî¤ô¢ y Ýù¶ x -¬ù õ¤ì ªðó¤òî£ âù¢ðî¬ù check
Java-3
18
ªêò¢õîø¢°ø¤ò condition ªè£´è¢èð¢ð좮¼è¤ù¢ø¶. Þ¶ ªð£¼ï¢î¤ò¤¼ð¢ð¤ù¢
Üî¤ô¢ ªè£´è¢èð¢ðì¢ì èì¢ì¬÷è÷¢ Þò颰ñ¢. Þô¢¬ôªòù¤ô¢ 覫ö à÷¢÷
else ð°î¤ò£ù¶ Þò颰è¤ù¢ø¶.
°ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹:
if condition -è÷¤ô¢ else Ýù¶ èì¢ì£òñ¢ ðòù¢ð´î¢î «õí¢´ñ¢ âù¢ð¶
Þô¢¬ô. if «õ¬ô ªêò¢òõ¤ô¢¬ô âù¤ô¢ else ð°î¤ Þ¼ð¢ð¤ù¢ ܶ
î£ù£è «õ¬ôªêò¢»ñ¢.
Listing 1.4
class pro1_4
{
public static void main(String arg[])
{
int rollno, tamil, english, maths, science, social, total;
String sname;
float avg;
rollno=1;
sname=”Reena”;
tamil=65;
english=80;
maths=50;
science=90;
social=75;
total=tamil+english+maths+science+social;
avg=total/5;
System.out.println(“Roll Number : “ + rollno);
System.out.println(“Student Name : “ + sname);
System.out.println(“Tamil : “ + tamil);
System.out.println(“English : “ + english);
System.out.println(“Maths : “ + maths);
System.out.println(“Science : “ + science);
System.out.println(“Social : “ + social);
System.out.println(“Total : “ + total);
System.out.println(“Average : “ + avg);
19
if (tamil>=40 && english>=40 && maths>=40 &&
science>=40 && social>=40)
{
System.out.println(“Result : Pass”);
}
else
{
System.out.println(“Result : Fail”);
}
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ Student - ®Â¬ìò ñ£ó¢è¢°è¬÷ð¢ ðî¤ï¢¶
Üõó¢ ܬùð¢ ð£ìé¢è÷¤½ñ¢ 40 ñî¤ð¢ªðù¢è÷¢ Üô¢ô¶ Üîø¢° Üî¤èñ£èð¢
ªðø¢Á «îó¢ê¢ê¤ò¬ìï¢î¤¼è¢è¤ù¢ø£ó£ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢Àñ¢ ð®è¢°
â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ颰 && âù¢ø AND Operator, if condition -è÷¤ô¢ ðòù¢
ð´î¢îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
For Loop
C ªñ£ö¤ò¤ô¢ Þ¼ð¢ð¶ «ð£ù¢«ø Java -õ¤½ñ¢ for, while, do while Ýè¤ò
loop èì¢ì¬÷è÷¢ Þ¼è¢è¤ù¢øù. for loop -¬ùè¢ ªè£í¢´ °ø¤ð¢ð¤ì¢ì
îì¬õè÷¤ô¢ å«ó èì¢ì¬÷î¢ ªî£°ð¢¹è¬÷ Þòè¢è¤è¢ ªè£÷¢÷ º®»ñ¢.
for (initialization; condition; increment/decrement)
{
.....
}
for Loop Ýù¶ Íù¢Á ð¤ó¤¾è÷£èð¢ ð¤ó¤è¢èð¢ð좮¼è¢è¤ù¢ø¶. ºîô¤ô¢ intialization
ð°î¤ Þ¼è¢è¤ù¢ø¶. Þî¤ô¢ ï£ñ¢ ïñ¶ variable -è÷¤ô¢ å¼ ñî¤ð¢ð¤¬ùð¢ ðî¤ò
«õí¢´ñ¢. ܴ condition ð°î¤ò¤ô¢ ïñ袰 «õí¢®òð® condition -è¬÷
õ¬óò¼î¢¶è¢ ªè£÷¢÷ «õí¢´ñ¢. ܴ increment / decrement ð°î¤ò¤ô¢
ïñ¶ condition -è÷¢ 郎ø«õÁñ¢ õ¬èò¤ô¢ ñî¤ð¢¹è÷¢ õ¼ñ¢ð®è¢° statement
-è¬÷ ܬñè¢è «õí¢´ñ¢.
Listing 1.5
class pro1_5
20
{
public static void main(String arg[])
{
int x;
for (x=1; x<=100; x++)
{
System.out.println(x);
}
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ 1 -ô¤¼ï¢¶ 100 õ¬ó âù¢è¬÷ Display
ªêò¢õîø¢°ø¤ò for loop -¬ù Þòø¢ø¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ颰 ºîô¤ô¢ x âù¢Âñ¢
variable -ô¢ 1 âù¢ø ñî¤ð¢ð¤¬ù intialize ªêò¢è¤ù¢«ø£ñ¢. ܴ condition -ù¤ô¢
x<=100 âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Þîù¢ð® x -ô¢ 100 Üô¢ô¶ Üîø¢°
°¬øõ£ù ñî¤ð¢¹è÷¢ õ¬ó Þ¼è¢èô£ñ¢. 100 -袰 «ñø¢ð¢ðì¢ì ñî¤ð¢¹è÷¢
õ¼ñ¢ªð£¿¶ loop -¬ù õ¤ì¢´ ªõ÷¤«ò õ õ¤ì «õí¢´ñ¢ âù¢Á ªð£¼÷¢.
increment ð°î¤ò¤ô¢ x++ âù¢Á ªè£´è¢èð¢ð¢ì®¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þîù¢ð®
x -ô¢ îø¢ªð£¿¶ ޼袰ñ ñî¤ð¢«ð£´ 1 âù¢ø ðî¤ð¢ð¤¬ù Ãì¢®è¢ ªè£÷¢÷
«õí¢´ñ¢ âù¢Á ªð£¼÷¢. loop Ýù¶ åõ¢ªõ£Á º¬ø»ñ¢ condition-ù¤¬ù
êó¤ð£ó¢î¢¶ õ¤ì¢´ ÜîÂ÷¢ ªè£´è¢èð¢ð좮¼è¢°ñ¢ èì¢ì¬ùè¬÷ Þò袰è¤ù¢ø¶.
ð¤ù¢ùó¢ condition ð°î¤ Þò颰è¤ù¢ø¶. Þ¶ «ð£ù¢Á ñ¦í¢´ñ¢ ñ¦í¢´ñ¢ loop -ù¢
à÷¢ Þ¼è¢è¤ù¢ø îèõô¢è÷¢ Þò颰è¤ù¢øù.
while loop
while loop Ýù¶ ªõ¼ñ¢ condition -ù¤¬ù ñ좴«ñ ªè£í¢´÷¢÷¶. for
loop -ä «ð£ô intialization ñø¢Áñ¢ increment ð°î¤è÷¢ Þ颰 èì¢ì¬÷ò¤Â÷¢
Þô¢¬ô. Ýù£ô¢ ï£ñ¢ Üõø¢¬ø èì¢ì£òñ£è «õÁ Þìé¢è÷¤ô¢ ðòù¢ð´î¢î
«õí¢´ñ¢.
while (condition)
{
statements...
}
Listing 1.6
class pro1_6
21
{
public static void main(String arg[])
{
int x;
x=1;
while (x!=100)
{
System.out.println(x);
x++;
}
}
}
Þ颰 x âù¢ø variable à¼õ£è¢èð¢ð좮¼è¢è¤ù¢ø¶. while loop
Ýóñ¢ð¤ð¢ðîø¢° ºù¢«ù x=1; âù¢Á intialize ªêò¢òð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
while loop -ù¢ à÷¢ x!=100 âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬î»ñ¢ èõù¤»é¢è÷¢.
Þîù¢ð® x -ô¢ 100 -¬ù îõ¤ø «õÁ âï¢î ñî¤ð¢¹è÷¢ Þ¼ï¢î£½ñ¢ loop -ù¢ à÷¢
ªêô¢ôô£ñ¢ âù¢Á ªð£¼÷¢. x++ âù¢ø increment statement loop -ù¢ à÷¢
Þ¼ð¢ðî¬ùè¢ èõù¤»é¢è÷¢.
do while loop
Þ¶¾ñ¢ while loop -¬ù𢠫ð£ô«õ Þò颰è¤ù¢ø¶. Ýù£ô¢ while loop
Ýù¶ ºîô¤ô¢ condition -ù¤¬ù check ªêò¢¶õ¤ì¢´ ð¤ù¢ èì¢ì¬÷è¬÷
Þò袰è¤ù¢ø¶. Ýù£ô¢ do while loop Ýù¶ ºîô¤ô¢ èì¢ì¬÷è¬÷
Þòè¢è¤õ¤ì¢´ ð¤ù¢ùó¢ condition -ù¤¬ù check ªêò¢»ñ¢.
do
{
Statement....
}while(condition);
Listing 1.7
class pro1_7
{
public static void main(String arg[])
{
22
int x;
x=1;
do
{
System.out.println(x);
x++;
}while (x!=100);
}
}
Þ颰 ºîô¤ô¢ do -õ¤¬ù ܴ Þ¼è¢è¤ù¢ø èì¢ì¬÷è÷¢ Þò颰ñ¢
ð¤ù¢ùó¢ î£ù¢ while -ô¢ Þ¼è¢è¤ù¢ø condition êó¤ð£ó¢èè¢ð¢ð´ñ¢. Þï¢î õ¬èò¤ô¢
å«ó å¼ îì¬õò£õ¶ do while loop -ù¢ à÷¢ à÷¢÷ èì¢ì¬÷è÷¢ Þòé¢è¤õ¤´ñ¢
ù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢è.
23
Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 2.
Object-Oriented Programming
Object-Oriented Programming (OOP) âù¢ð¶ îø¢ªð£¿¶ ¹öè¢èî¢î¤ô¢ à÷¢÷
ñ¤èê¢ê¤øï¢î ¹«ó£è¤ó£ñ¤é¢ º¬øò£°ñ¢. Java õ£ù¶ Þï¢î º¬øò¤¬ùð¢ ð¤ù¢ðø¢ø¤î¢
î£ù¢ Þò颰è¤ù¢ø¶. âù«õ ºîô¤ô¢ Object-Oriented Programming âÂñ¢
º¬øò¤¬ù»ñ¢ Üîù¢ ðòù¢ð£´è¬÷»ñ¢ ñ¤èî¢ ªî÷¤õ£è Üø¤ï¢¶ ªîó¤ï¢¶
ªè£í¢ì£ô¢ ñ좴«ñ Java -õ¤ù¤ô¢ ïñ¢ñ£ô¢ ¹«ó£è¤ó£ñ¢è¬÷ â¿î¤è¢ªè£÷¢÷
Þò½ñ¢.
å¼ °ø¤ð¢ð¤ì¢ì «õ¬ôò¤¬ùê¢ ªêò¢õîø¢è¢è£è å¼ ¹«ó£è¤ó£ñ¢ â¿î
«õí¢´ñ¢ âù¢Á ¬õî¢¶è¢ ªè£÷¢Àé¢è÷¢. Üî¬ù OOP º¬øò¤ô¢ å¼ Class
Ýè â¿î «õí¢´ñ¢. class âù¢ð¶ variable -è¬÷»ñ¢, function -è¬÷»ñ¢
ªè£í¢ì ªî£°ð¢¹ ݰñ¢.
â´î¢¶è¢è£ì¢ì£è ¹î¢îèé¢è¬÷ð¢ ðø¢ø¤ò îèõô¢è¬÷ ¬èò£÷¢õîø¢è£è
å¼ ¹«ó£è¤ó£ñ¢ â¿¶è¤ù¢«ø£ñ¢ âù¢Á ¬õî¢¶è ªè£÷¢Àé¢è÷¢. Üîø¢ªèù¢Á
å¼ class â¿î «õí¢´ñ¢. Üï¢î class -ø¢è¢° ï£ñ¢ Book âù¢Á ªðòó¢
ªè£´è¢èô£ñ¢. Þï¢î Book âÂñ¢ class -Â÷¢ ï£ñ¢ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢÷
«õí¢®ò îèõô¢èÀè¢è£è variable -è¬÷ à¼õ£è¢è «õí¢´ñ¢. BookName,
AuthorName, Publisher, Price ºîô¤ò îèõô¢è÷¢ Book Class -ø¢° «î¬õªòù¤ô¢
ï£ñ¢ variable -è¬÷ ÜîÂ÷¢ à¼õ£è¢èô£ñ¢. Þî¢î¬èò variable -è¬÷ data
members âù¢Á ܬöè¢è¤ù¢ø«ø£ñ¢.
Þõ¢õ£Á å¼ class -ù¢ à÷¢ à¼õ£è¢èð¢ðì¢ì data member è¬÷ê¢ ê£ó¢ï¢«î£
Üô¢ô¶ ê£óñ«ô£ ï£ñ¢ ðô function -è¬÷ class -è÷¤ù¢ à÷¢ â¿î¤è¢
ªè£÷¢÷ô£ñ¢. Þõ¢õ£Á class -ù¢ à÷¢ â¿îð¢ð´ñ¢ function -è¬÷ Method
âù¢Á ܬöè¢è¤ù¢«ø£ñ¢.
Ýè data members(variable) ñø¢Áñ¢ methods (function) Ýè¤òõø¢¬øè¢
ªè£í¢´ °ø¤ð¢ð¤ì¢ì å¼ «õ¬ôè¢è£è â¿îð¢ð´ñ¢ ¹«ó£è¤ó£ñ¢ º¬ø«ò
class ݰñ¢.
àé¢èÀ袰 ‘C’ ªñ£ö¤ò¤ô¢ ¹«ó£è¤ó£ñ¢ â¿î ªîó¤ï¢î¤¼è¢°«ñò£ù£ô¢ Struct
âù¢ø¬öè¢èð¢ð´ñ¢ structure -è¬÷ð¢ ðòù¢ð´î¢î¤ò¤¼ð¢ð¦ó¢è÷¢. Üî¤ô¢ ï£ñ¢ ªõ¼ñ¢
variable -è¬÷ ñ좴ñ¢ ªè£í¢´ å¼ structure -ø¤¬ù à¼õ£è¢è¤ îèõô¢è¬÷
ê¤øð¢ð£è ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢. Üî¢î¬èò Structure -è÷¤ù¢ advanced version
Ýè«õ class -è÷¢ ðòù¢ð´è¤ù¢øù.
24
å¼ º¬ø å¼ class â¿îð¢ð좴 õ¤ì¢ì£ô¢ Üî¬ùð¢ ðòù¢ð´î¢î¤
ïñ¢ñ£ô¢ Object -´è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢÷ Þò½ñ¢. ²¼è¢èñ£è Ãø¤ù£ô¢
class Ýù¶ å¼ user defined data type Ýèð¢ðòù¢ð´è¤ù¢ø¶. Üî£õ¶ int,
char, float, double ºîô¤ò data type -è¬÷ð¢ ðòù¢ð´î¢î¤ âõ¢õ£Á ï£ñ¢ variable
-è¬÷ à¼õ£è¢è¤ ðòù¢ð´î¢¶è¤ù¢«ø£«ñ£ ܶ «ð£ô ï£ñ¢ â¿¶ñ¢ class -è÷¢
data type -è÷£è Þò颰è¤ù¢øù. Üõø¢¬øè¢ ªè£í¢´ ïñ¢ñ£ô¢ variable -è¬÷
à¼õ£è¢è¤è¢ ªè£÷¢÷ Þò½ñ¢. Üî¢î¬èò variable -è¬÷«ò ï£ñ¢ Object -
âù¢Á ܬöè¢è¤ù¢«ø£ñ¢. Þõ¢õ£Á class -è¬÷ à¼õ£è¢è¤ Üîù¢Íôñ¢ Object
-´è¬÷ à¼õ£è¢è¤ ðòù¢ð´î¢¶ñ¢ º¬øò¤¬ùî¢î£ù¢ Object-Oriented
Programming âù¢Á ܬöè¢è¤ù¢«ø£ñ¢.
Listing 2.1.
class book
{
String bookname;
String authorname;
String publisher;
int price;
public void store(String tbookname, String tauthorname,
String tpublisher, int tprice)
{
bookname=tbookname;
authorname=tauthorname;
publisher=tpublisher;
price=tprice;
}
public void display()
{
System.out.println(“Book Name : “ + bookname);
System.out.println(“Author Name : “ + authorname);
System.out.println(“Publisher : “ + publisher);
System.out.println(“Price : “ + price);
System.out.println(“—————————————————”);
}
25
public static void main(String arg[])
{
book java = new book();
book oracle = new book();
java.store(“Java Language”,”Packianathan”,
”AnuRagham”,250);
oracle.store(“Oracle Datbase”,”Packianathan”,
”AnuRagham”,125);
java.display();
oracle.display();
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ Book âù¢ªø£¼ class â¿îð¢ð좮¼ð¢ð¬îè¢
èõù¤»é¢è÷¢. Þ颰 main( ) Function ù¤¬ùî¢ îõ¤ó¢î¢¶ Üîø¢° ºù¢ ðô õó¤è÷¢
Þ¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üõø¢ø¤ô¢ ºîô¤ô¢ BookName, AuthorName, Publisher,
Price Ýè¤ò variable -è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. ܬõ Þï¢îè¢ class-ù¢
data member -è÷¢. Üî¬ùî¢ ªî£ìó¢ï¢¶ Store ñø¢Áñ¢ display âù¢Á Þóí¢´
function -è÷¢ Þ¼è¢è¤ù¢øù. Þ¬õ Methods âù¢Á ܬöè¢èð¢ð´è¤ù¢øù.
Þõø¢ø¤ô¢ store function Ýù¶ parameter -è÷¤ù¢ õö¤ò£è ñî¤ð¢¹è¬÷𢠪ðø¢Á
Üõø¢¬ø data member -è÷¤ô¢ ðî¤ï¢¶ ¬õð¢ðîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. ܶ«ð£ô¢
display function Ýù¶ data member -è÷¤ô¢ à÷¢÷ ñî¤ð¢¹è¬÷ Display ªêò¢¶ð¢
ð£ó¢ð¢¢ðîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶.
Þï¢î𢠹«ó£è¤ó£ñ¤¬ù Compile ªêò¢¶ Þò袰ñ¢ªð£¿¶ main( ) function
ù¤ô¢ ޼ î£ù¢ ¹«ó£è¤ó£ñ¢ Þòé¢è Ýóñ¢ð¤è¢°ñ¢. ÞîÂ÷¢
Book java = new Book ( ) ;
Book oracle = new Book ( ) ;
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶«õ å¼ class -ô¤¼ï¢¶
Object-´è¬÷ à¼õ£è¢°ñ¢ º¬ø. ºîô¤ô¢ class -ù¢ ªðòó¤¬ùê¢ Ãø¤, ð¤ù¢ùó¢
à¼õ£è¢°è¤ù¢ø Object -®ù¢ ªðòó¤¬ùê¢ ªê£ô¢ô «õí¢´ñ¢. Þ颰 java ñø¢Áñ¢
oracle âù¢ðù Book Class -ô¤¼ï¢¶ à¼õ£è¢èð¢ð´ñ¢ Object -´è÷¢ ݰñ¢.
ܴ ï£ñ¢ = âÂñ¢ assignment operator -ø¤¬ùè¢ ªè£´î¢¶ Üî¬ùî¢ ªî£ì
Java-4
26
new Book( ) âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Þõ¢õ£Á ªè£´è¢°ñ¢ ªð£¿¶
î£ù¢ àí¢¬ñò¤ô¢ Class ù¢ Object -Ýù¶ ¹î¤î£è à¼õ£è¤ù¢ø¶.
Þõ¢õ£Á Object Ýù¶ à¼õ£°ñ¢ ªð£¿¶ Üï¢î Class -ù¢ à÷¢ ï£ñ¢
õ¬óò¼î¢î¤¼è¢è¤ù¢ø data member -èÀñ¢ ñø¢Áñ¢ method -èÀñ¢ Üï¢îï¢î Object-
´èÀ袪èù¢Á îù¤î¢îù¤ò£è à¼õ£è¤ù¢øù. Üî£õ¶ Þ颰 java âù¢ø
Object-ø¢è¢° âù¢Á îù¤ò£è Book Name, Author Name, Publisher, Price ºîô¤ò
Variable èÀñ¢ store( ) ñø¢Áñ¢ display( ) Ýè¤ò function -èÀñ¢ à¼õ£è¤ù¢øù.
Þ«î«ð£ù¢Á îù¤ò£è Oracle Object -ø¢è¢°ñ¢ à¼õ£°ñ¢.
Þ¶ «ð£ô¢ âî¢î¬ù Object ´è÷¢ à¼õ£è¢°è¤ù¢ø«ø£«ñ£ Üî¢î¬ù袰ñ¢
îù¤î¢îù¤ò£è datamember -è÷¢ ñø¢Áñ¢ method -è÷¢ Þ¼ð¢ðî£è 郎ùõ¤ô¢
ªè£÷¢Àé¢è÷¢. «ñ½ñ¢ ¹«ó£è¤ó£ñ¤¬ù ï¦é¢è÷¢ àø¢Áð¢ ð£ó¢¬èò¤ô¢
java.store(‘Java Language’,‘Packia Nathan’,‘Anuragham’, 150);
oracle.store(‘Oracle Database’,‘Packia Nathan’,’Anuragham’, 125) ;
âù¢Á Þ¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ java âù¢ø Object -®ô¢ à÷¢÷ store
function -ù¤¬ù»ñ¢ ܶ«ð£ô oracle âù¢ø object -ô¢ à÷¢÷ store function-
ù¤¬ù»ñ¢ ðòù¢ð´î¢î¤ Üï¢îï¢î Object -´è÷¤ô¢ à÷¢÷ data member -è÷¤ô¢
îèõô¢è¬÷ð¢ ðî¤ï¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
Þ颰 Object ªðòó¤ø¢è¢°ñ¢ function -ù¤ù¢ ªðòó¤ø¢è¢°ñ¢ ï´õ¤ô¢ å¼ ¹÷¢÷¤
Þ¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ Þï¢î Object -®ô¢ Þ¼è¢è¤ù¢ø function
âù¢Á °ø¤ð¢ðîø¢è¢è£è Þõ¢õ£Á ªè£´è¢èð¢ð´è¤ù¢ø¶. «ñ½ñ¢ Þ«î
º¬øò¤¬ùð¢ ðòù¢ð´î¢î¤
java.display( )
oracle.display( )
âù¢Á display function è¬÷ Þòè¢è¤ Üï¢îï¢î Object -´è÷¤ô¢ ðî¤ï¢¶ ¬õ
Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷ display ªêò¢¶ ð£ó¢î¢¶è¢ ªè£÷¢Àè¤ù¢«ø£ñ¢.
Listing 2.2
class emp
{
int empno,salary;
String ename,job;
public void assign(int tempno, String tename, String tjob,
int tsalary)
27
{
empno=tempno;
ename=tename;
job=tjob;
salary=tsalary;
}
public void view()
{
System.out.println(“Employee Number : “ + empno);
System.out.println(“Employee Name : “ + ename);
System.out.println(“Job : “ + job);
System.out.println(“Salary : “ + salary);
}
}
class tata
{
public static void main(String arg[])
{
emp nancy = new emp();
emp john = new emp();
nancy.assign(101,”Nancy Jenifer”,”Analyst”,6000);
john.assign(102,”John Thomas”,”Programmer”,6000);
nancy.view();
john.view();
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ emp âù¢ø class åù¢Áñ¢ Tata âù¢ø class åù¢Áñ¢
â¿îð¢ð좮¼è¢è¤ù¢øù. Þï¢î Þóí¢´ class -ø¢è¢°ñ¢ Þ¬ìò¤ô¢ âï¢îªõ£¼
ªî£ìó¢¹ñ¢ Þô¢¬ô.
emp âÂñ¢ class -ô¢ å¼ èñ¢ªðù¤ò¤ô¢ «õ¬ôð¢ ð£ó¢è¢è¤ù¢ø ªî£ö¤ô£÷ó¢
è÷¤ù¢ îèõô¢è¬÷è¢ ¬èò£÷¢õîø¢°ø¤ò ¹«ó£è¤ó£ñ¤¬ù â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢.
28
Üî£õ¶ Þî¤ô¢ empno, ename, job, salary âù¢ø îèõô¢è¬÷ê¢ «êèó¤è¢°ñ¢
ªð£¼ì¢´ variable -è¬÷ à¼õ£è¢è¤, Üõø¢ø¤ô¢ ñî¤ð¢¹è¬÷ ðî¤õîø¢°ñ¢, ñø¢Áñ¢
Üõø¢ø¤ô¢ Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷ è£í¢ðîø¢è¢°ñ£è º¬ø«ò assign ñø¢Áñ¢
view Ýè¤ò function -è¬÷ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢.
Tata âù¢ªø£¼ class Þ¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Tata âù¢Âñ¢
èñ¢ªðù¤ò¤ù¢ îèõô¢è¬÷ ðó£ñó¤è¢°ñ¢ class âù¢Á èø¢ð¬ù ªêò¢¶
ªè£÷¢Àé¢è÷¢. Þï¢î Class -ô¢ î£ù¢ main function Ýù¶ Þ¼è¢è¤ù¢ø¶
âù¢ðî¬ù»ñ¢ èõù¤»é¢è÷¢. Þï¢î ¹«óè¤ó£ññ¤¬ù ï¦é¢è÷¢ Compile ªêò¢¶
Run ªêò¢»ñ¢ ªð£¿¶ Tata èñ¢ªðù¤ò¤ô¢ à÷¢÷ main function î£ù¢ Þò颰ñ¢
âù¢ð¶ àé¢èÀ袰 郎ùõ¤¼è¢°ñ¢. Þï¢î main function -ô¢ ï£ñ¢ emp âù¢Âñ¢
class õ¤¬ùê¢ ê£ó¢ï¢î Þóí¢´ object -´è¬÷ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢.
Üî£õ¶,
emp nancy = new emp( ) ;
emp john = new emp( ) ;
ºîô¤ò õó¤è¬÷ °ø¤ð¢ð¤´è¤ù¢«ø£ñ¢. ï£ñ¢ Þ¼ð¢ð«î£ Tata âù¢Âñ¢ Class-
ø¢è°÷¢ Üé¢è¤¼ï¢¶ «õªø£¼ class -Ýù emp -ò¤ù¢ Object -´è¬÷ Þ颰
à¼õ£è¢è¤è¢ ªè£÷¢Àè¤ù¢«ø£ñ¢. ð¤ù¢ùó¢ nancy ñø¢Áñ¢ john Ýè¤ò Object-
´èÀ袰ø¤ò assign ñø¢Áñ¢ view function -è¬÷ð¢ ðòù¢ð´î¢î¤è¢
ªè£÷¢Àè¤ù¢«ø£ñ¢.
Þõø¢ø¤ô¤¼ï¢¶ å¼ class â¿îð¢ð좴õ¤ì¢ì£ô¢ Üîù¢ Object -´è¬÷
«õÁ âï¢î class -ù¢ à÷¢ ޼ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢ âù¢ðî¬ù
ªî÷¤õ£è Üø¤ï¢¶ ªè£÷¢Àé¢è÷¢. Þð¢ªð£¿¶, class âù¢ø£ô¢ âù¢ù âù¢Á
åó÷¾ ªî÷¤ï¢î¤¼ð¢ð¦ó¢è÷¢. Þù¤ class ù¤¬ùð¢ ðø¢ø¤ò ªî÷¤õ£ù Syntax -ä
ð£ó¢ð¢«ð£ñ¢.
Syntex:
[modifiers] class <class name> [extend <superclass>] [implements
<interfaces>]
âð¢ªð£¿¶«ñ èì¢ì¬÷è÷¤ù¢ Syntax -è¬÷ ð®è¢°ñ¢ ªð£¿¶ [ ] brackets-
è÷¤ù¢ à÷¢ Þ¼ð¢ð¬õ Option -è÷¢ ݰñ¢. Üî£õ¶ Üõø¢¬øð¢ ðòù¢ð´î¢îô£ñ¢
Üô¢ô¶ ðòù¢ð´î¢î£ñ½ñ¢ Þ¼è¢èô£ñ¢. Þ¶õ¬ó ï£ñ¢ ð£ó¢î¢î â´î¢¶è¢
è£ì¢´è÷¤ô¢ [modifiers], [extend super class] ñø¢Áñ¢ [implement interface] ºîô£ù
Þùé¢è÷¢ ðòù¢ð´î¢îð¢ðìõ¤ô¢¬ô. ܬõ åõ¢ªõ£ù¢Áñ¢ ªõõ¢«õÁ
29
ðòù¢ð£´è¬÷è¢ ªè£í¢ì¬õ. âù«õ Üõø¢¬øî¢ îù¤ â´î¢¶è¢è£ì¢´è÷¢
Íôñ¢ Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢.
Inheritance
Object Oriented Programming º¬øò¤ô¢ Þ¼è¢è¤ù¢ø ºè¢è¤òñ£ù
ðòù¢ð£´è÷¤ô¢ Inheritance -ñ¢ åù¢Á. Þï¢î º¬øò¤ù¢ Íôñ¢ Þóí¢´ class-
èÀè¢è¤¬ìò¤ô¢ å¼ Þ¬íð¢ð¤¬ù à¼õ£è¢°è¤ù¢«ø£ñ¢. Þîù¢ð® Þóí¢´
class -è÷¤ô¢ åù¢ø¤¬ù super class âù¾ñ¢ ñø¢ªø£ù¢ø¤¬ù subclass âù¾ñ¢
ܬöè¢è¤ù¢«ø£ñ¢.
â´î¢¶è¢è£ì¢ì£è father âù¢ªø£¼ class-ñ¢ child âù¢Âñ¢ ªðòó¤ô¢ å¼
class-ñ¢ Þ¼ð¢ðî£è ¬õ袪è£÷¢«õ£ñ¢. father class -ù¢ à÷¢ father name, age,
occupation ºîô£ù å¼ îîò¤¬ùð¢ðø¢ø¤ò îèõô¢è¬÷ê¢ «êèó¤î¢¶
¬õè¢èð¢ð좮¼è¢è¤ù¢øù. child class -à÷¢ child name, age, hobbies ºîô£ù å¼
ñèù¤¬ùð¢ðø¢ø¤ò îèõô¢è÷¢ «êèó¤î¢¶ ¬õè¢èð¢ð좮¼è¢è¤ù¢øù âù¢Á
ªè£÷¢Àé¢è÷¢. Þï¢î Þóí¢´ class -è÷¢ îù¤î¢îù¤ò£è õ¬óò¼è¢èð¢
ð좮¼ð¢ð¤ù¢ åù¢Áìù¢ åù¢Á ªî£ìó¢¹ Þ¼è¢è£¶ Üô¢ôõ£? Þð¢ªð£¿¶
Child class -ø¢è¢° å¼ Object -®¬ù à¼õ£è¢°è¤ù¢«ø£ñ¢ âù¢Á ¬õè¢
ªè£÷¢Àé¢è÷¢. Üï¢î child object -ù¢ à÷¢ ïñ袰 father -ø¤¬ùð¢ îèõô¢è÷¢
õó«õí¢´ñ¢ âù¢Á õ¤¼ñ¢ð¤ù£ô¢ Üîø¢° ï£ñ¢ inheritance º¬øò¤¬ùè¢
¬èò£÷ «õí¢´ñ¢. Þîø¢° extends âù¢Âñ¢ èì¢ì¬÷ð¢ ðòù¢ð´è¤ù¢ø¶.
Listing 2.3
class father
{
String fname;
int fage;
public void assign(String tfname, int tfage)
{
fname=tfname;
fage=tfage;
}
public void view()
{
System.out.println(“Father’s Name : “ + fname);
System.out.println(“Father’s Age : “ + fage);
30
System.out.println(“”);
}
}
class child extends father
{
String cname;
int cage;
public void store(String tcname, int tcage)
{
cname=tcname;
cage=tcage;
}
public void display()
{
System.out.println(“Child’s Name : “ + cname);
System.out.println(“Child’s Age : “ + cage);
System.out.println(“”);
}
}
class school
{
public static void main(String arg[])
{
child allen = new child();
allen.assign(“Sebastian Raj”,30);
allen.store(“Allen Smith”,3);
allen.view();
allen.display();
}
}
31
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ father âù¢Âñ¢ class Ýù¶ ºîô¤ô¢
â¿îð¢ð좮¼è¢è¤ù¢ø¶. Üî¬ùî¢ ªî£ìó¢ï¢¶ child âÂñ¢ class è¦ö¢è¢èí¢ìõ£Á
õ¬óò¼è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
class child extends father
{
.....
}
Þ颰 extends father âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¤ù¢ Íôñ¢ child class Ýù¶
father class àìù¢ Þ¬íè¢èð¢ð좮¼è¢è¤ù¢ø¶. âù«õ Þð¢ªð£¿¶ father
class Ýù¶ child class ¬ìò superclass Ýè ªêòô¢ð´è¤ù¢ø¶. Üô¢ô¶
base Class âù¢Áñ¢ Ãøô£ñ¢.
Þîù¢ð® ï¦é¢è÷¢ âð¢ªð£¿ªîô¢ô£ñ¢ child class -ø¢° Object -´è¬÷
à¼õ£è¢°è¤ù¢ø¦ó¢è«÷£ Üð¢ªð£¿ªîô¢ô£ñ¢ super class Ýù father -ù¢ Object
åù¢Áñ¢ î£ù£è à¼õ£è¢èð¢ð좴 õ¤´ñ¢. ï£ñ¢ îù¤ò£è father class -ø¢è¢°
ªèù¢Á Object -´è¬÷ à¼õ£è¢è «õí¢®òî¤ô¢¬ô. «ñ½ñ¢ Þï¢î ¹«ó£è¤ó£ñ¤ô¢
child allen = new child( );
âù¢Á ªè£´î¢¶ allen âù¢Âñ¢ ªðòó¤ô¢ child class -ù¢ Object -¬ù à¼õ£è¢è¤
ò¤¼è¢è¤ù¢«ø£ñ¢. Þ颰
allen.store(...)
allen.display( )
ºîô£ù¬õ Child Class -¬ìò function -è÷¢ ݰñ¢.
allen.assign(...)
allen.view( )
ºîô£ù¬õ father class -ù¢ function -è÷ ݰñ¢. Þï¢î function -è÷¢ allen
âù¢Âñ¢ child class -ù¢ Íôñ¢ Þò颰è¤ù¢ø¶ âù¢ðî¬ù Üø¤õîù¢Íôñ¢
Inheritance âõ¢õ£Á Þò颰è¤ù¢ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢.
°ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹
Java -õ¤¬ù𢠪ð£¼î¢îõ¬óò¤ô¢ åõ¢ªõ£¼ °ø¤ð¢ð¤ì¢ì «õ¬ôò¤¬ùê¢
ªêò¢õîø¢°ñ¢ âù¢Á ðô¢«õÁ class -è÷¢ â¿î¤ ¬õè¢èð¢ð좴 Þ¼è¢è¤ù¢øù.
Üï¢î class -è¬÷ ï£ñ¢ «î¬õè¢«èø¢ø£ó¢«ð£ô Object -´è÷£è à¼õ£è¢è¤
ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ «õí¢´ñ¢. Üô¢ô¶ ï£ñ£è å¼ class -¬ù à¼õ£è¢è¤
Üï¢î class -ø¢° ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø Java class -è÷¤¬ù extend
èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î¤ Inheritance ªêò¢¶ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
32
Constructors
å¼ class -ù¢ à÷¢ Üï¢î class -ù¢ ªðòó¤«ô«ò function -è÷¤¬ù â¿¶ñ¢
º¬ø«ò consturctor âù¢Á ܬöè¢èð¢ð´è¤ù¢ø¶.
â´î¢¶è¢è£ì¢ì£è class circle âù¢Á å¼ class Þ¼ð¢ðî£è ªè£í¢ì£ô¢ Üï¢î
class -ù¢ à÷¢ circle( ) âù¢ø ªðòó¤ô¢ å¼ function ޼袰ñ£ù£ô¢ ܶ
Constructor function âù¢Á ܬöè¢èð¢ð´è¤ù¢ø¶.
ê£î£óíñ£è ï£ñ¢ å¼ class -ù¢ à÷¢ â¿¶ñ¢ function -è¬÷ Üï¢î class-
ù¢ Object -è÷¤ù¢ õö¤ò£èî¢î£ù¢ Þò袰«õ£ñ¢. Ýù£ô¢ Constructor function
è÷¤¬ù𢠪ð£¼î¢î õ¬óò¤ô¢ ï£ñ£è Üî¬ù Þòè¢èî¬õò¤ô¢¬ô. ñ£ø£è
ܶ î£ù£è«õ Þò颰ñ¢. âõ¢õ£ªøù¤ô¢ âð¢ªð£¿ªîô¢ô£ñ¢ å¼ class - ù¢
Object à¼õ£è¢èð¢ð´è¤ù¢ø«î£, Üð¢ªð£¿ªîô¢ô£ñ¢ Üï¢î Class ù¢ à÷¢
Constructor Function -è÷¢ ޼袰ñ¢ ðì¢êî¢î¤ô¢ ܬõ î£ù£è ºîô¤ô¢
Þòé¢è¤õ¤´ñ¢.
âù«õ Þï¢î Constructor º¬øò¤ù¢ Íôñ¢ class -ù¢ Object ´è÷¢
à¼õ£°ñ¢ êñòî¢î¤ô¢ ïìè¢è «õí¢®ò intialization ºîô¤ò ïñè¢°î¢ «î¬õò£ù
«õ¬ôèÀ袰ø¤ò ¹«ó£è¤ó£ñ¢è¬÷ â¿î¤è¢ ªè£÷¢÷ô£ñ¢.
Listing 2.4
class hello
{
hello()
{
System.out.println(“Hello Constructor”);
}
public static void main(String arg[])
{
hello one = new hello();
hello two = new hello();
hello three = new hello();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ hello âù¢ø class â¿îð¢ð좮¼è¢è¤ù¢ø¶. «ñ½ñ¢ hello
âù¢ø class-ù¢ ªðòó¤«ô«ò function åù¢Áñ¢ â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
33
Þ¶ Þï¢î class -ù¢ constructor function ݰñ¢. ÞîÂ÷¢,
System.out.println(“Hello Constructor”);
âù¢ø õó¤ â¿îð¢ð좮¼è¢è¤ù¢ø¶. main( ) function -ô¢ one, two, three âù¢Á
Íù¢Á Object -è÷¢ new operator -ø¤¬ùð¢ ðòù¢ð´î¢î¤ à¼õ£è¢èð¢ð좮¼ð¢ð¬îè¢
èõù¤»é¢è÷¢. Þï¢î Íù¢Á Object -è÷¢ à¼õ£°ñ¢ êñòî¢î¤½ñ¢ Üï¢îï¢î object
´è¢°ø¤ò constructor function -è÷¢ î£ù£è Þòé¢è¤õ¤´ñ¢.
Listing 2.5
class circle
{
int x;
int y;
int radius;
circle()
{
x=0;
y=0;
radius=0;
}
circle(int tx,int ty,int tradius)
{
x=tx;
y=ty;
radius=tradius;
}
circle(circle obj)
{
x=obj.x;
y=obj.y;
radius=obj.radius;
}
Java-5
34
public void store(int tx,int ty,int tradius)
{
x=tx;
y=ty;
radius=tradius;
}
public void display()
{
System.out.println(“X value: “ + x);
System.out.println(“Y value: “ + y);
System.out.println(“Radius: “ + radius);
System.out.println(“”);
}
}
class check
{
public static void main(String arg[])
{
circle one = new circle();
circle two = new circle(5,10,15);
circle three = new circle(two);
one.display();
two.display();
three.display();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ circle âù¢Á å¼ class â¿îð¢ð좮¼è¢è¤ù¢ø¶.
ê£î£óíñ£è å¼ circle õ¬óò «õí¢´ñ¢ âù¢ø£ô¢ ¬ñòð¢¹÷¢÷¤»ñ¢(Centre
Point) Ýóºñ¢(Radius) «î¬õ. âù«õ ï£ñ¢ x, y ñø¢Áñ¢ radius âù¢Á Íù¢Á
variable -è¬÷ class-ù¢ à÷¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. circle âù¢ø ªðòó¤ô¢ Íù¢Á
Constructor function -è÷¢ â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. ºîô¢ circle
constructor function -ù¤ô¢ âï¢î å¼ ñî¤ð¢¹èÀñ¢ argument -è÷£è
35
ªè£´è¢èð¢ð좮¼è¢è õ¤ô¢¬ô. Þóí¢ì£õ¶ constructor function -ù¤ô¢ tx, ty,
tradius âù¢Á Íù¢Á int variable è÷¢argument -è÷£è õ£é¢èð¢ð좮¼ð¢ð¬îè¢
èõù¤»é¢è÷¢. Íù¢ø£õ¶, circle constructor function -ù¤ô¢ Obj âù¢Âñ¢ circle
class -ù¢ variable, argument Ýè ªè£´è¢èð¢ððð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
Þï¢î Íù¢Á constructor function è÷¤ô¢ ãî£õ¶ åù¢Á, ï£ñ¢ Üï¢î class -ø¢è¢°
Object -è¬÷ à¼õ£è¢°ñ¢ ªð£¿¶ ªè£´è¢è¤ù¢ø ñî¤ð¢¹èÀ袰 ãø¢ø£ø¢ð¢ «ð£ô
Þò颰è¤ù¢ø¶. main ( ) function ù¤ô¢,
circle one = new circle( );
âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ ï£ñ¢ ºîô¤ô¢ â¿î¤ò¤¼è¢è¤ù¢ø constructor function
Þò颰è¤ù¢ø¶. ܴ
circle two=new circle(5, 10, 15);
âù¢Á ªè£´è¢°ñ¢ªð£¿¶ Þóí¢ì£õî£è ï£ñ¢ â¿î¤ò¤¼è¢è¤ù¢ø constructor
function Ýù¶ Þò颰è¤ù¢ø¶. ãªùù¤ô¢ ï£ñ¢ Object -®¬ù à¼õ£è¢°ñ¢
ªð£¿¶ Íù¢Á int ñî¤ð¢¹è¬÷ ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Üõø¢¬ø ªðø¢Áè¢
ªè£÷¢õîø¢° õêî¤ò£è Þóí¢ì£õ¶ constructor function Þ¼ð¢ðî£ô¢ Üï¢î
function Þò颰è¤ù¢ø¶.ܴ ï£ñ¢
circle three = new circle (two);
âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ ï£ñ¢ â¿î¤ò¤¼è¢è¤ù¢ø Íù¢ø£õ¶ constructor function
Þò颰è¤ù¢ø¶. ãªùù¤ô¢ îø¢ªð£¿¶ three âÂñ¢ ï£ñ¢ ¹î¤ò Object -®¬ù
à¼õ£è¢°ñ¢ ªð£¿¶ ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø Object åù¢ø¤ô¢ Þ¼è¢è¤ù¢ø
ñî¤ð¢¹è¬÷ Üð¢ð®«ò Þð¢ªð£¿¶ ï£ñ¢ à¼õ£è¢°ñ¢ Object -®ø¢è¢°÷¢ õó
«õí¢´ñ¢ âù¢ðîø¢è£è two âù¢ø Object-®¬ù parameter Ýè ÜÂð¢¹
è¤ù¢«ø£ñ¢. circle class -ù¢ object -®¬ù«ò parameter Ýè õ£é¢è¤è¢ªè£÷¢õîø¢°
õêî¤ò£è Íù¢ø£õ¶ constructor function â¿îð¢ð좴ò¤¼ð¢ðî£ô¢ ܶ
Þò颰è¤ù¢ø¶.
ªñ£î¢îî¢î¤ô¢ constructor function è÷¢ Object -´è÷¢ à¼õ£°ñ¢ êñòî¢î¤ô¢
î£ù£è Þòé¢è¤ ï£ñ¢ ªè£´î¢î¤¼è¢è¤ù¢ø ܬù «õ¬ôè¬÷»ñ¢
ªêò¢õîø¢°ñ¢ ðòù¢ð´è¤ù¢ø¶ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
°ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹:
å«ó ªðòó¤ù¤ô¢ åù¢Á袰ñ¢ «ñø¢ð¢ðì¢ì function-è¬÷ â¿¶«õ£«ñ
ò£ù£ô¢ Üîø¢è¢° function overloading âù¢Á ªðòó¢. Þï¢î º¬øò¤ô¢ function-
è¬÷ â¿¶ñ¢ ªð£¿¶ åõ¢ªõ£Á function -ù¤½ñ¢ ªõõ¢«õÁ data type -è÷¤ô¢
36
parameter -è÷¢ ªè£´è¢èð¢ð좮¼è¢è «õí¢´ñ¢. ï£ñ¢ function -¬ù Þò袰ñ¢
ªð£¿¶ ªè£´è¢è¤ù¢ø parameter ñî¤ð¢¹èÀ袰 ãø¢ð Üï¢îï¢î function -è÷¢
Þò颰ñ.
ªêù¢ø ¹«ó£è¤ó£ñ¤ô¢ circle âù¢ø ªðòó¤ô¢ Íù¢Á function-è÷¢
â¿îð¢ð좮¼ð¢ð¶ñ¢ function overloading º¬øò¤ô¢ î£ù¢ âù¢ðî¬ù 郎ùõ¤ô¢
ªè£÷¢è.
Modifiers:
ªð£¶õ£è class -¬ù â¿¶ñ¢ ªð£¿¶ modifiers âù¢Á ܬöè¢èð¢ð´ñ¢
abstract, public, ñø¢Áñ¢ final ºîô£ù¬õ ðòù¢ð´î¢îð¢ð´è¤ù¢øù. 覫ö
ªè£´è¢èð¢ð좴÷¢÷ â´î¢¶è¢è£ì¢´è¬÷ èõù¤»é¢è÷¢
abstract class my_graphics
{
....
}
public final class String
{
....
}
abstract âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ Üï¢î class-ù¢ à÷¢ â¿îð¢ð´ñ¢ function
åù¢ªøÂñ¢ abstract Ýè Þ¼è¢è «õí¢´ñ¢. abstract class åù¢Á Þ¼ð¢ðî£è¾ñ¢
Üî¬ùê¢ ê£ó¢ï¢¶ ðô subclass -è÷¢ Þ¼ð¢ðî£è¾ñ¢ ªè£÷¢Àé¢è÷¢. â´î¢¶è¢
è£ì¢ì£è my_graphics âù¢ø class Ýù¶ abstract class Ýè Þ¼è¢è¤ù¢ø¶.
Üî¬ùê¢ ê£ó¢ï¶ circle, rectangle, triangle ºîô¤ò class-è÷¢ subclass-è÷£è
Þ¼è¢è¤ù¢øù. Þ¬õ ܬùî¢î¤¼è¢°ñ¢ Draw âù¢ø ªðòó¤ô¢ function-è÷¢
Þ¼è¢è¤ù¢ø¶ âù¢Á ¬õ袪è£í¢ì£ô¢, ܬõ åõ¢ªõ£ù¢Áñ¢ ªõõ¢«õÁ
«õ¬ô ªêò¢õîø¢°ð¢ ðòù¢ð´ñô¢ôõ£? Þ¶ «ð£ù¢ø êñòé¢è÷¤ô¢ ï£ñ¢ Þõø¢¬ø
abstract º¬øò¤ô¢ â¿î «õí¢´ñ¢.
final âù¢ø modifier Ýù¶ ðòù¢ð´î¢îð¢ðì¢ì£ô¢ Üï¢î class -¬ù inheritance
ªêò¢ò Þòô£¶. Üî£õ¶ Üï¢î class Ýù¶ «õÁ âï¢î class -ø¢è¢°ñ¢ superclass
Ýè ªêòô¢ðì Þòô£¶.
public âù¢ø modifier Ýù¶ ðòù¢ð´î¢îð¢ðì¢ì£ô¢ Üï¢î class -¬ù ,
37
«õÁ ðô ¹«ó£è¤ó£ñ¢è÷¤ô¢ Þ¼ï¢¶è¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
â´î¢¶è¢è£ì¢ì£è ï£ñ¢ Java õ¤ô¢ ðòù¢ð´î¢¶ñ¢ String âù¢Âñ¢ class -¬ù
public class Ýè â¿î¤ Þ¼ð¢ðîù£ô¢ î£ù¢ ïñ¢ñ£ô¢ Üî¬ù ܬù
¹«ó£è¤ó£ñ¢è÷¤½ñ¢ ðòù¢ð´î¢î º®è¤ù¢ø¶.
this ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ super
Java õ¤ô¢ this ñø¢Áñ¢ super âù Þóí¢´ ê¤øð¢¹ keyword -è÷¢ Þ¼è¢è¤ù¢øù.
å¼ class -ù¢ à÷¢ ï£ñ¢ ðô¢«õÁ variable -è÷¢ ñø¢Áñ¢ function -è¬÷ â¿î¤
ò¤¼ð¢«ð£ñ¢. Þõø¢¬ø Üï¢î class -è÷¤ù¢ Object ´è÷¢ õö¤ò£è Þò袰è¤ù¢«ø£ñ¢
Üô¢ôõ£? Üï¢î êñòé¢è÷¤ô¢ åõ¢ªõ£Á Object -ø¢è¢°ñ¢ âù¢Á îù¤î¢îù¤ò£è
variable -è÷¢ ºîô£ù¬õ à¼õ£°ñ¢. âï¢î variable âï¢î object -®Â¬ìò¶
âù¢ðî¬ù ªê£ô¢õîø¢è¢è£è this âÂñ¢ operator ðòù¢ð´è¤ù¢ø¶.
Listing 2.6
class student
{
int rollno;
String name;
public void store(int rollno, String name)
{
this.rollno = rollno;
this.name = name;
}
public void display()
{
System.out.println(“Roll Number: “ + this.rollno);
System.out.println(“Name: “ + this.name);
System.out.println(“”);
}
public static void main(String arg[])
{
student nancy = new student();
38
student john = new student();
student george = new student();
nancy.store(1,”Nancy Jenifer”);
nancy.display();
john.store(2,”John Thomas”);
john.display();
george.store(3,”George Clinton”);
george.display();
}
}
Þ颰 student âù¢Âñ¢ class ô¢ õ¬óò¼è¢èð¢ð좴÷¢÷ RollNo, Name,
Ýè¤ò variable -è¬÷ Üï¢î class-ù¢ function è÷¤ô¢ this.Rollno, this.name âù¢Á
ðòù¢ð´î¢î¤ò¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ Student class -ø¢è¢°, ï£ñ¢ nancy,
john, george âù¢Á Íù¢Á Object -è÷¢ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Íù¢Á
object -´èÀ袰ñ¢ îù¤î¢îù¤ò£è Rollno, Name ºîô£ù variable-è÷¢ Þ¼ð¢ð¬î
郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ï£ñ¢ nancy.store( ), john.store( ) âù¢Á õ¬èò¤ô¢
function -è¬÷ àð«ò£è¤è¢°ñ¢ ªð£¿¶, Üï¢î function -è÷¤ô¢ this.rollno, this.name
âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ Üï¢îï¢î object -èÀ袰ø¤ò variable -è÷¢
ðòù¢ð´î¢îð¢ð´è¤ù¢øù.
°ø¤ð¢¹ :°ø¤ð¢¹ :°ø¤ð¢¹ :°ø¤ð¢¹ :°ø¤ð¢¹ :
Þ颰 this âù¢ð¶ ðòù¢ð´î¢îðð¢ì£õ¤ì¢ì£½ñ¢ åù¢Áñ¢ ð¤óê¢ê¬ù
Þô¢¬ô. ãªùù¤ô¢ Ü颰 Þòø¢¬èò£è«õ this operator Þ¼ð¢ðî£è Java
compiler 郎ùî¢¶î¢ ªè£÷¢Àñ¢.
super âù¢ð¶ inheritance ªêò¢»ñ¢ªð£¿¶ ðòù¢ð´è¤ù¢ø¶. Üî£õ¶
Child class -è÷¤ô¢ ޼ super class -ô¢ Þ¼è¢è¤ù¢ø function -è¬÷
àð«ò£èð¢ð´î¢¶õîø¢° Þ¶ ðòù¢ð´è¤ù¢ø¶. °ø¤ð¢ð£è å¼ super class ô¢
constructor function Þ¼ð¢ðî£è ªè£÷¢Àé¢è÷¢. ï£ñ¢ child class -ø¢° object -
´è¬÷ à¼õ£è¢°ñ¢ ªð£¿¶ child class -ô¢ Þ¼è¢è¤ù¢ø constructor function
î£ù¢ Þò颰ñ¢. Ýù£ô¢ inheritance Þ¼ð¢ðîù£ô¢ base class -ù¢ object åù¢Á
î£ù£è à¼õ£°ñ¢ function -è÷¤ø¢° ñî¤ð¢¹è¬÷ ªè£´ð¢ðîø¢° super âÂñ¢
º¬øò¤ù£ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
Listing 2.7
39
class state
{
String state_name;
state(String tstr)
{
state_name = tstr;
}
public void state_assign(String tstr)
{
state_name = tstr;
}
public void state_display()
{
System.out.println(“State Name : “ + state_name);
}
}
class city extends state
{
String city_name;
city(String tstr)
{
super(“Tamil Nadu”);
city_name = tstr;
}
public void city_assign(String tstr)
{
city_name = tstr;
}
public void city_display()
40
{
System.out.println(“City Name : “ + city_name);
}
}
class country
{
public static void main(String arg[])
{
city chennai = new city(“Chennai”);
chennai.state_display();
chennai.city_display();
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ state ñø¢Áñ¢ city âù¢Á Þóí¢´ class -è÷¢ Þ¼è¢è¤ù¢øù.
Þóí¢´ñ¢ inheritance º¬øò¤ô¢ Þ¬íè¢èð¢ð좮¼è¢è¤ù¢ø¶. state âù¢ð¶ superclass
Ýè¾ñ¢city âù¢ð¶childclassÝè¾ñ¢ Þ¼è¢è¤ù¢ø¶. Þóí¢´ class è÷¤½«ñ constructor
function â¿îð¢ð좮¼è¢è¤ù¢ø¶. main() function-ù¤ô¢ ï£ñ¢ citychennai=newcity(‘chennai’)
âù¢Á ªè£´î¢¶ chennai âù¢Á å¼ Object -¬ù city âÂñ¢ class -ô¢ ޼
à¼õ£è¢°è¤ù¢«ø£ñ¢. ï£ñ¢ parameter Ýè ªè£´è¢°ñ¢ ‘Chennai’ âù¢ø ñî¤ð¢¹ cityclass-ù¢
constructor -¼è¢° àó¤ò¶. city class -ù¢ constructor function -ù¤ô¢ ï£ñ¢ super (‘Tamil nadu’);
âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î èì¢ì¬÷ super classÝù state ¬ìò
constructor function -ø¢° ñî¤ð¢¹è¬÷è¢ ªè£´è¢è¤ù¢ø¶.
Package
Package âù¢ð¶ ðô java ¹«ó£è¤ó£ñ¢è¬÷»ñ¢ ñø¢Áñ¢ class -è¬÷»ñ¢ ªè£í¢ì å¼
ªî£°ð¢¹ ݰñ¢. Üî£õ¶ å¼ º¬ø â¿îð¢ðì¢ì ¹«ó£è¤ó£ñ ¢è¬÷«ò£ Üô¢ô¶ class
-è¬÷«ò£ «õí¢®ò ªð£¿¶ «î¬õð¢ðì¢ì Þìé¢è÷¤ô¢ ñ¦í¢´ñ¢ ñ¦í¢´ñ¢ ðòù¢ð´î¢î¤è¢
ªè£÷¢õîø¢è¢è£è Package º¬øð¢ ðòù¢ð´è¤ù¢ø¶. ï£ñ¢ â¿¶è¤ù¢ø ðô¢«õÁ class -
è¬÷ å¼ Package Ýè à¼õ£è¢è¤õ¤ì¢´ ð¤ù¢ùó¢ Üî¬ù «õí¢®ò Þìî¢î¤ô¢
ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
Ü«î«ð£ô¢ java ªñ£ö¤ò¤½ñ¢ ðô¢«õÁ ðí¤è¬÷ê¢ ªêò¢õîø¢è¢è£è
Ëø¢Áè¢èíè¢è£ù class -èÀñ¢ ¹«ó£è¤ó£ñ¢èÀñ¢ ðô Package -è÷£è â¿îð¢ð좴
Þ¼è¢è¤ù¢øù. åõ¢ªõ£Á Package -ñ¢ °ø¤ð¢ð¤ì¢ì ê¤ô ðòù¢ð£´è¬÷ ªè£í¢ì
class -è¬÷ îù¢ùèî¢«î ªè£í¢´÷¢÷¶. Þõø¢¬ø ï£ñ¢ «õí¢®ò êñòé¢è÷¤ô¢
41
ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ «õí¢´ñ¢.
܆ìõ¬í܆ìõ¬í܆ìõ¬í܆ìõ¬í܆ìõ¬í 1.2
Standard Java Packages
Api Packages Description
java.applet Applet classes and interfaces
java.awt Absract windowing Toolkit ( Awt)
Class and interfaces.
java.awt.image (sub Package of Awt) Bitmap image
classes and interfaces.
java.awt.peer (subpackage of Awt) Platform-specific
AWT Classes and interfaces
(such ads Windows, sun, and machitosh)
java.io Input/Output classes and interfaces
java.lang Core java language classes and interfaces.
Java.net Network classes and interfaces.
java.util Utility classes and interface.
Sun.tool.debug Debuging classes and interface.
Import
å¼ Package -ô¢ à÷¢÷ class -è¬÷»ñ¢ ñø¢Áñ¢ ¹«ó£è¤ó£ñ¢è¬÷»ñ¢, ï£ñ¢
â¿¶è¤ù¢ø ¹«ó£è¤ó£ñ¢è÷¢ ðòù¢ð´î¢î «õí¢´ñ¢ âù¢ø£ô¢ ºîô¤ô¢ Üï¢î Package
-è¬÷ ï£ñ¢ ïñ¢º¬ìò ¹«ó£è¤ó£ñ¤ô¢ ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢ âù¢Á ªê£ô¢õîø¢°
import âù¢ø èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î «õí¢´ñ¢. import -èì¢ì¬÷ò¤¬ùè¢
ªè£´î¢¶ Package -ù¢ ªðòó¤¬ùè¢ ªè£´ð¢ðîù¢ Íôñ¢ å¼ Package -ô¢ à÷¢÷
ܬù class -è¬÷»ñ¢ ïñ¢º¬ìò ¹«ó£è¤ó£ñ¢è÷¤ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷
Þò½ñ¢.
import java.applet.*;
import java.awt.* ;
import java.net.URL ;
«ñ£ô¢ ªè£´è¢èð¢ð좴÷¢÷ â´î¢¶è¢ è£ì¢´è÷¤ù¢ ð® ï£ñ¢ applet, awt,
net ºîô¤ò Package è¬÷ import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢. Üõø¢ø¤ô¢ * âù¢Á
ªè£´è¢èð¢ð좮¼ð¢ðîù¢ ªð£¼÷¢ âù¢ù ªõù¢ø£ô¢. Üï¢î Package -ô¢ à÷¢÷
ܬù class -è¬÷»ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢ âù¢ð¶ ݰñ¢.
42
Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 3.
Applets ñø¢Áññø¢Áññø¢Áññø¢Áññø¢Áñ¢¢¢¢¢Application
Þ¶ õ¬ó java -õ¤ù¢ Ü®ð¢ð¬ì ¹«ó£è¤ó£ñ¤é¢ º¬øè¬÷ ñ좴«ñ Üø¤ï¢¶
Þ¼è¢è¤ù¢«ø£ñ¢. àí¢¬ñò¤ô¢ java -õ¤¬ùð¢ ðòù¢ð´î¢î¤ Applets âù¢ø¬öè¢èð
¢ðìè¢Ã®ò web page -è÷¤ô¢ ðòù¢ð´ñ¢ ¹«ó£è¤ó£ñ¢è¬÷»ñ¢ ñø¢Áñ¢ Application
âù¢ø¬öè¢èð¢ ðìè¢Ã®ò Graphical user interface (GUI) ¹«ó£è¤ó£ñ¢è¬÷»ñ¢
â¿î¤è¢ ªè£÷¢÷ô£ñ¢. Þ¬õ window operating System î¢î¤ô¢ Þò颰è¤ù¢øù.
Applets âùð¢ð´ð¬õ º¿è¢è º¿è¢è web browser -è÷¤ô¢ Þò颰ñ¢.
âï¢î å¼ °ø¤ð¢ð¤ì¢ì «õ¬ôò¤¬ùê¢ ªêò¢õîø¢°ñ¢ ïñ¢ñ£ô¢ Applet õ¬è
¹«ó£è¤ó£ñ¢è¬÷ â¿î¤è¢ ªè£÷¢÷ Þò½ñ¢. Þõ¢õ£Á à¼õ£è¢èð¢ð´ñ¢ Applet -
è¬÷ Hyper Text Markup Language (HTML) âù¢ø¬öè¢èð¢ð´ñ¢ internet -®ô¢
ðòù¢ð´ñ¢ ªñ£ö¤ò¤ù¢ Íôñ¢ Þòè¢è «õí¢´ñ¢.
Internet Explorer ñø¢Áñ¢ Netscape Navigator ºîô£ù¬õ ðóõô£è
ðòù¢ð´î¢îð¢ð´ñ¢ Web Browser-è÷¢ ݰñ¢. Þõø¢ø¤ô¢ î£ù¢ ï£ñ¢ Web site-
è¬÷ð¢ ð£ó¢è¢è¤ù¢«ø£ñ¢. Þï¢î web Browser-è÷¢ Java õ¤ô¢ â¿îð¢ð´ñ¢ Applet
è¬÷ ¹ó¤ï¢¶ Þò袰ñ¢ î¤øù¢ ð¬ìî¢î¬õò£è Þ¼è¢è¤ù¢øù.
ï£ñ¢ Applet ¹«ó£è¤ó£ñ¢è¬÷ â¿î¤ º®î¢î ð¤ø° Browser è÷¤ô¢ ªêù¢Á
Check ªêò¢¶ ð£ó¢è¢è «õí¢´ñ¢ âù¢ð¶ Þô¢¬ô. ñ£ø£è Applet -è¬÷ Check
ªêò¢¶ ð£ó¢ð¢ðîø¢è¢ªèù¢«ø appletviewer âù¢ø tool åù¢Á JDK õ¤ô¢ Þ¼è¢è¤ù¢ø¶.
Þî¬ùð¢ ðòù¢ð´î¢î¤ ïñ¢ñ£ô¢ Applet è÷¢ êó¤ò£è Þò颰è¤ù¢øî£ âù¢ðî¬ù
êó¤ð£ó¢î¢¶è¢ ªè£÷¢÷ Þò½ñ¢.
ºîô¢ºîô¢ºîô¢ºîô¢ºîô¢ Applet ¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢
Listing 3.1
import java.applet.*;
import java.awt.Graphics;
public class helloapplet extends java.applet.Applet
{
public void init()
{
resize(200,150);
}
43
public void paint(Graphics g)
{
g.drawString(“Hello World!”, 50,50);
}
}
«ñ«ô ªè£´è¢èð¢ð좴÷¢÷ ¹«ó£è¤ó£ñ¤¬ù Üð¢ð®«ò å¼ editor -ô¢
Type ªêò¢¶ ªè£÷¢Àé¢è÷¢. file-ä save ªêò¢»ñ¢ ªð£¿¶ ñøè¢è£ñô¢
HelloApplet.java âù¢ø ªðòó¤ô¢ ð ªêò¢»éè÷¢. ãªùù¤ô¢ ï£ñ¢
â¿î¤ò¤¼è¢è¤ù¢ø class Ýù¶ public class Ýè Þ¼è¢è¤ù¢ø¶. ï£ñ¢ Java
¹«óè¤ó£ñ¤ù¤ô¢ public class åù¢ø¤¬ù â¿¶«õ£«ñò£ù£ô¢ Üï¢î file ô¤ø¢°
ªðòó¤´ñ¢ ªð£¿¶ Üï¢î class -ù¢ ªðòó¤¬ù«ò ªè£´è¢è «õí¢´ñ¢ âù¢ðî¬ù
郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
import java.applet.*;
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 applet âù¢ø Package -
ä ï£ñ¢ import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Package-ô¢ î£ù¢ applet ¹«ó£è¤ó£ñ¢è¬÷
â¿¶õîø¢°î¢ «î¬õò£ù class -è÷¢ Þ¼è¢è¤ù¢øù. «ñ½ñ¢
public class HelloworldApplet extends java.applet.Applet
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ HelloworldApplet âù¢Á
ï£ñ¢ â¿¶è¤ù¢ø ¹î¤ò class -ø¢è¢° java.applet.Applet âù¢Á ãø¢è¢ªèù«õ
Þ¼è¢è¤ù¢ø å¼ class -àìù¢ extends èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î¤ inheritance
ªêò¢òð¢ ð좮¼è¢è¤ù¢ø¶. ï¦é¢è÷¢ âð¢ªð£¿¶ Applet õ¬èò¤¬ùê¢ ê£ó¢ï¢î
¹«ó£è¤ó£ñ¢è¬÷ â¿î «õí¢®ò¤¼ï¢î£½ñ¢ Üð¢ªð£¿¶ªîô¢ô£ñ¢ «ñø¢è¢èí¢ì
º¬øò¤¬ù èì¢ì£òñ£è ð¤ù¢ðø¢ø¤ò£è «õí¢´ñ¢.
ãªùù¤ô¢ java.applet.Applet âù¢ø class Ýù¶ º¿è¢è º¿è¢è Applet -
è¬÷ à¼õ£è¢è¤ è좴ð¢ð´î¢î¤è¢ îò ܬù ¹«ó£è¤ó£ñ¢è¬÷»ñ¢
îù¢ùèî¢«î ªè£í¢ì å¼ class ݶñ¢. ï£ñ¢ â¿¶è¤ù¢ø Class -ø¢è¢° Þï¢î
class àìù¢ inheritance ªêò¢»ñ¢ ªð£¿¶ ïñ¢º¬ìò class Ýù¶ å¼ Applet
Class Ýè ñ£ø¤õ¤´è¤ù¢ø¶. ð¤ù¢ùó¢ ïñè¢°î¢ «î¬õò£ù ¹«ó£è¤ó£ñ¢è¬÷
ñ좴ñ¢ Þï¢î class ù¢ à÷¢ â¿î¤è¢ ªè£í¢ì£ô¢ «ð£¶ñ£ù¶.
public void init( )
{
...
}
44
âù¢Á å¼ function Þ¼ð¢ðî¬ùè¢ èõù¤»é¢è÷¢. Þï¢î function ù¤¬ù Þîø¢°
ºù¢ ï¦é¢è÷¢ ðòù¢ð´î¢î¤ò¤¼è¢è ñ£ì¢¯ó¢è÷¢. âð¢ªð£¿ªîô¢ô£ñ¢ ï¦é¢è÷¢ Applet
â¿¶è¤ù¢ø¦ó¢è«÷£ Üð¢ªð£¿ªîô¢ô£ñ¢ Þï¢î init( ) function -ù¤¬ù â¿î¤ò£è
«õí¢´ñ¢. ãªùù¤ô¢ Applet ¹«ó£è¤ó£ñ¢è÷¢ init( ) function -ô¢ ޼ î£ù¢
Þòé¢è Ýóñ¢ð¤è¢è¤ù¢øù.
ï£ñ¢ ê£î£óíñ£è â¿¶ñ¢ main ( ) function Ýù¶ Applet ¹«ó£è¤ó£ñ¢è÷¤ô¢
Þòé¢è£¶. âù«õ main( ) function â¿îð¢ðì¢ì£ô¢ ܶ Java Application Ýè¾ñ¢,
init( ) function â¿îð¢ðì¢ì£ô¢ Üî¬ù Java Applet Ýè¾ñ¢ ï¦é¢è÷¢ ªè£÷¢÷
«õí¢´ñ¢. init( ) function -ù¤ù¢ à÷¢ âù¢ù «õí¢´ñ£ù£½ñ¢ â¿î¤è¢
ªè£÷¢÷ô£ñ¢ âù¢ðî¬ù»ñ¢ Üî¤ô¤¼ï¢¶ î£ù¢ Appletè÷¢ Þòé¢è
Ýóñ¢ð¤è¢è¤ù¢øù âù¢ðî¬ù»ñ¢ 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
public void paint(Graphics g)
{
...
}
Þï¢î function Ýù¶ init ( ) function Þòé¢è¤ò ð¤ø° Ü´î¢î£è Þò颰ñ¢. ñø¢Áñ¢
âð¢ªð£¿ªîô¢ô£ñ¢ Applet ޼袰ñ¢ Window -õ¤ô¢ ñ£ø¢Áñ¢ ï¤èö¢è¤ù¢ø«î£
Üî£õ¶ minimize, maximize ºîô¤òù ïì袰ñ¢ ªð£¿¶ñ¢ Þï¢î paint function
Ýù¶ î£ù£è Þò颰è¤ù¢ø¶. ï¦é¢è÷¢ internet explorer -ô¢ Üî£õ¶ Browser-
ô¢ Next ñø¢Áñ¢ Back ºîô¤ò Button -è¬÷ Ü¿î¢î¤ ºù¢«ù ޼袰ñ¢ Page -
è÷¢ ªêù¢Áõ¤ì¢´ ñ¢¹ñ¢ ªð£¿¶ paint function Þ¼ð¢ð¤ù¢ ܶ î£ù£è
Þò颰ñ¢.
Þï¢î paint( ) function -ô¢ Graphics âù¢ªø£¼ Class -ù¢ Object Ýù¶
Parameter Ýè âð¢ªð£¿¶ñ¢ Þ¼è¢è¤ù¢ø¶. Þî¬ù ðòù¢ð´î¢î¤ Line, Rectangle,
Circle, Text ºîô¤ò Graphics êñ¢ðï¢îð¢ðì¢ì¬õè¬÷ õ¬ó ªè£÷¢÷ º®»ñ¢.
import java.awt.Graphics;
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. awt âù¢ð¶ abstract windowing
toolkit âù¢ðîù¢ ²¼è¢èñ¢ ݰñ¢. Þï¢î awt Package -ù¢ à÷¢÷¤¼è¢°ñ¢ ðô «õÁ
class è¬÷è¢ ªè£í¢´î£ù¢ Graphical User Interface (GUI) ¹«ó£è¤ó£ñ¢è¬÷ â¿î
Þò½ñ¢. Üî£õ¶ Label, Textbox, Combobox, Radio Button, Checkbox, Frame , Menu
ºîô£ù ܬù windows êñ¢ðï¢îð¢ðì¢ì ¹«ó£è¤ó£ñ¤é¢°è¬÷»ñ¢ awt Package
-ô¢ à÷¢÷ class è÷¤¬ùè¢ ªè£í¢«ì à¼õ£è¢è Þò½ñ¢. Þï¢î𢹫ó£è¤ó£ñ¤ô¢
ï£ñ¢ awt Package -ô¢ Þ¼è¢è¤ù¢ø Graphics âù¢Âñ¢ Package ¬ù ñ좴«ñ
45
import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢.init( ) function -ù¤ô¢ resize (200, 150); âù¢ø function
àð«ò£è¤è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Applet -ô¢ Size Ýù¶ 200
ñø¢Áñ¢ 150 Pixels âù¢ø Ü÷¾è÷¤ô¢ õó«õí¢´ñ¢ âùê¢ ªê£ô¢õîø¢°ð¢
ðòù¢ð´è¤ù¢ø¶. «ñ½ñ¢ paint( ) function -ù¤ô¢
gdrawString(‘Hello World!‘, 50,10);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 g âù¢ð¶ Graphics âù¢ø
Class -ù¢ Object ݰñ¢. drawString Ýù¶ Graphics class -ù¢ Member function
Ýùî£ô¢ Üî¬ù Þ颰 ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ º®è¤ù¢ø¶. Þîù¢ Íôñ¢
ïñ袰 «õí¢®ò text -è¬÷ °ø¤ð¢ð¤ì¢ì row ñø¢Áñ¢ Column è÷¤ô¢ Üî£õ¶
Pixel- è÷¤ô¢ ޼ display ªêò¢¶ ªè£÷¢÷ º®»ñ¢.
Þð¢ªð£¿¶ ï£ñ¢ ïñ¶ ºîô¢ Java Applet -®¬ù â¿î¤ º®î¢î¤¼è¢
è¤ù¢«ø£ñ¢. Þù¤ Þî¬ù âõ¢õ£Á Þòè¢è «õí¢´ñ¢ âù¢ðî¬ùè¢ è£í¢«ð£ñ¢.
ê£î£óíñ£è java ¹«ó£è¤ó£ñ¢è¬÷ âõ¢õ£Á Compile ªêò¢«õ£«ñ£ Ü«î«ð£ô¢
Þï¢î ¹«ó£è¤ó£ñ¤¬ù»ñ¢ 覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ô¢ compile ªêò¢¶è¢
ªè£÷¢Àé¢è÷¢.
javac HelloworldApplet.java
¹«ó£è¤ó£ñ£ù¶ êó¤ò£è ޼袰ñ¢ ðì¢êî¢î¤ô¢ HelloworldApplet.Class âù¢ø file
åù¢Á à¼õ£è¢è¤ò¤¼è¢°ñ.¢ Þð¢ªð£¿¶ ï£ñ¢ HelloworldApplet.class âù¢Âñ¢
Applet- ®¬ù Þò袰õîø¢è£è èì¢ì£òñ£è å¼ HTML file -ô¤¬ù
à¼õ£è¢è¤ò£è «õí¢´ñ¢. Java Source code -®¬ù âï¢î Editor -ô¢ Type
ªêò¢î¦ó¢è«÷£ Ü«î editor -ô¢ 覫ö ªè£´è¢ð¢ð좴÷¢÷ õó¤è¬÷𢠹î¤î£è
Type ªêò¢¶ ªè£÷¢Àé¢è÷¢.
<applet code="helloapplet.class" width=200 height=150>
</applet>
«ñ«ô ªè£´è¢èð¢ð좴÷¢÷õ£Á Type ªêò¢¶ º®î¢î¾ìù¢ plain ascii text format-
ô¢ Üî£õ¶ ê£î£óí text file õ®õî¢î¤ô¢ myapplet.htm âù¢ø ªðòó¤¬ùè¢
ªè£´î¢¶ Save ªêò¢¶ ªè£÷¢Àé¢è÷¢. filename «õÁ ãî£õî£è Ãì ªè£´î¢¶è¢
ªè£÷¢÷ô£ñ¢. Ýù£ô¢ extension Ýù¶ .htm Üô¢ô¶ .html âù¢Á ªè£´è¢èð¢ðì
«õí¢´ñ¢.
àé¢èÀ袰 HTML ªîó¤ï¢î¤¼è¢°ñ¢ âù¢Á 郎ùè¢è¤ù¢«øù¢. Þô¢¬ô âù¢ø£½ñ¢
ðóõ£ò¤ô¢¬ô. Þï¢î HTML ªñ£ö¤ò¤ô¢ åõ¢ªõ£¼ °ø¤ð¢ð¤ì¢ì «õ¬ôèò¤¬ù»ñ¢
ªêò¢õîø¢è¢ªèù¢Á îù¤ò£è tagâù¢ø¬öè¢èð¢ð´ñ¢ èì¢ì¬÷è÷¢ Þ¼è¢è¤ù¢øù. Þõø¢ø¤ô¢
Applet-è¬÷ Browser-ô¢ Þò袰õîø¢° ðòù¢ð´ñ¢ èì¢ì¬÷ò£è <appletcode...>âù¢Âñ¢
46
tagèì¢ì¬÷ð¢ ðòù¢ð´è¤ù¢ø¶. Þï¢î èì¢ì¬÷ò¤ô¢ Helloworld.Class âù¢Á ï£ñ¢ à¼õ£è¢è¤ò
Java Class file ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Height ñø¢Áñ¢ Width âù¢Á
ªè£´è¢èð¢ð좴 Üõø¢ø¤øø° ñî¤ð¢¹è¬÷ ªè£´è¢èð¢ð좮¼ð¢ð¬î»ñ¢ èõù¤»é¢è÷¢.
Þõø¢ø¤è¢° ñî¤ð¢¹è¬÷ èì¢ì£òñ£è ªè£´è¢è «õí¢´ñ¢. ãªùù¤ô¢ Þ¬õ«ò Applet
-ù¢ ï¦÷, Üèôé¢è¬÷ º®¾ ªêò¢è¤ù¢øù. ï¦é¢è÷¢ Applet ¹«ó£è¤ó£ñ¢è¬÷ Java -õ¤ô¢
à¼õ£è¢è¤ù£ô¢ Üõø¢¬ø Þò袰õîø¢° èì¢ì£òñ£è HTML file -è¬÷ à¼õ£è¢è¤
Üõø¢ø¤ô¢
<applet code=‘HelloworldApplet.calss’ width=200 Height=150>
</applet>
âù¢ø õ¬èò¤ô¢ èì¢ì¬÷è¬÷ â¿î «õí¢´ñ¢. Þù¤ Applet -è¬÷ âõ¢õ£Á
Þò袰õ¶ âù¢Á ð£ó¢ð¢«ð£ñ¢. Java Developement Kit (JDK) -ô¢ Applet Viewer
â¿î¤ò tool Þ¼è¢è¤ù¢ø¶. Þî¬ùð¢ ðòù¢ð´î¢î¤ ï£ñ¢ â¿î¤ò Applet -è÷¢
êó¤ò£è Þò颰è¤ù¢øî£ âù¢ðî¬ùê¢ êó¤ð£ó¢î¢¶è¢ ªè£÷¢÷ô£ñ¢. 覫ö ªè£´è¢èð¢
ð좴÷¢÷¶ «ð£ô¢ ªè£´î¢¶ Applet Viewer -ø¤¬ù Þò袰é¢è÷¢.
C:JDK1.2> appletviewer myapplet.Htm
Þð¢ªð£¿¶ windows -ù¢ à÷¢ ªêù¢Á 覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ô¢
AppletViewer Þò颰ñ¢. ÜîÂ÷¢ ï£ñ¢ â¿î¤ò Applet ¹«ó£è¤ó£ñ¢ Þò颰õ¬î»ñ¢
è£íô£ñ¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.1
47
appletviewer -ø¤¬ùî¢ îõ¤ó¢î¢¶ ï£ñ¢ «ïó®ò£è«õ Browser -è÷¤½ñ¢ Applet -è¬÷
Þòè¢è¤è¢ ªè£÷¢÷ô£ñ¢. â´î¢¶è¢è£ì¢ì£è InternetExplorerâÂñ¢ Browser ø¤¬ù Windows
-ô¢ Open ªêò¢¶ ªè£÷¢Àé¢è÷¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.2
Þï¢î Internet Exlorer Browser Ýù¶ open Ýè¤ò¾ìù¢ Üî¤ô¢ Þ¼è¢è¤ù¢ø Address
Line-ô¢ ïñ¢º¬ìò HTMLfile âï¢î folder-ô¢ Þ¼è¢è¤ù¢ø«î£ Üî¬ùê¢ êó¤ò£è Ãø¤ file
-ù¢ ªðòó¤¬ùè¢ ªè£´î¢«î£«ñò£ù£ô¢ ïñ¢º¬ìò Applet Ýù¶ Browse -ô¢ Þò颰ñ¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.3
48
«ñ«ô à÷¢÷ ðìî¢î¤ô¢ Þ¼ð¢ð¶ «ð£ô¢ àé¢èÀ¬ìò Applet êó¤ò£è
Þò颰è¤ù¢øî£ âù¢ðî¬ùê¢ êó¤ð£ó¢î¢¶è¢ ªè£÷¢Àé¢è÷¢. Þð¢ªð£¿¶ ï£ñ¢
ïñ¢º ¬ìò ºîô¢ Java Applet -®¬ù ªõø¢ø¤èóñ£è Þòè¢è¤ º®î¢¶
Þ¼è¢è¤ù¢«ø£ñ¢.
Abstract windowing toolkit (awt)
Windows Operating System -î¢î¤ô¢ ï£ñ¢ ðòù¢ð´î¢¶ñ¢ ܬù
ªñù¢ªð£¼÷¢ è÷¤½ñ¢ Textbox, Combobox, Radio Button, Push Button, Menu, Window
ºîô£ù GUI Component-è¬÷ ªè£í¢´ ޼袰ñ¢. Þî¢î¬è«ò Component-
è¬÷ ï£ñ¢ Java ¹«ó£è¤ó£ñ¤ô¢ â¿¶õîø¢° Þï¢î Abstract Windowing ToolKit
(AWT) âù¢Âñ¢ Package ðòù¢ð´è¤ù¢ø¶. Þù¤ Þï¢î Component -è¬÷ ªè£í¢´
ê¤ô Applet -è¬÷ à¼õ£è¢èô£ñ¢.
Listing 3.2Listing 3.2Listing 3.2Listing 3.2Listing 3.2
import java.awt.*;
import java.applet.Applet;
public class student extends Applet
{
Label lbl_sname=new Label(“Student Name”);
TextField txt_sname=new TextField(20);
Label lbl_course=new Label(“Course Name”);
Choice cho_course=new Choice();
Label lbl_sex=new Label(“Sex”);
CheckboxGroup sex_grp=new CheckboxGroup();
Checkbox male=new Checkbox(“Male”,sex_grp,true);
Checkbox female=new Checkbox(“Female”,sex_grp,false);
Label lbl_time=new Label(“Time Prefered”);
List lst_time=new List();
Label lbl_mop=new Label(“Mode Of Payment (Net/Install)”);
Checkbox chk_mop=new Checkbox();
GridLayout abc=new GridLayout(5,2);
Panel sex_pan=new Panel();
49
public void init()
{
sex_pan.add(male);
sex_pan.add(female);
cho_course.addItem(“Java”);
cho_course.addItem(“Visual Basic”);
cho_course.addItem(“HTML”);
cho_course.addItem(“XML”);
lst_time.addItem(“Moring”);
lst_time.addItem(“Afternoon”);
lst_time.addItem(“Evening”);
lst_time.addItem(“Night”);
setLayout(abc);
add(lbl_sname);
add(txt_sname);
add(lbl_course);
add(cho_course);
add(lbl_sex);
add(sex_pan);
add(lbl_time);
add(lst_time);
add(lbl_mop);
add(chk_mop);
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ ºîô¤ô¢ ï£ñ¢ awt ñø¢Áñ¢ Applet Ýè¤ò Package -
è¬÷ import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢.
50
public class student extends Applet
âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ student class Ýù¶ å¼ Applet Ýè
ªêòô¢ð´ñ¢ñ£Á Inheritance ªêò¢òð¢ð좮¼è¢è¤ù¢ø¶.
Label lbl_sname = new Label(‘Student Name’);
TextField txt_sname = new TextField(20);
âù¢Á ªè£´è¢èð¢ð좮ò¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 Label ñø¢Áñ¢ TextField
ºîô¤òù awt -ò¤ô¢ Þ¼è¢è¤ù¢ø class -è÷¢ ݰñ¢. new operator -ø¤¬ùð¢
ðòù¢ð´î¢î¤ Þï¢î class -èÀ袰ø¤ò Object ´è¬÷ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢.
lbl_sname ñø¢Áñ¢ txt_sname Ýè¤òù º¬ø«ò Label ñø¢Áñ¢ TextField
Ýè¤òõø¢ø¤ù¢ Object -´è÷¢ ݰñ¢.
Label class -¬ìò Object -®¬ùð¢ ðòù¢ð´î¢î¤ ïñ袰 «õí¢®ò Text
-è¬÷ display ªêò¢¶ ªè£÷¢÷ô£ñ¢. Ü«î«ð£ô¢ TextField class-ù¢ Object -¬ùð¢
ðòù¢ð´î¢î¤ ïñ袰 «õí¢®ò ñî¤ð¢¹è¬÷ Keyboard -®ô¢ ޼
à÷¢÷¦´è÷£è𢠪ðø¢Áè¢ ªè£÷¢÷ô£ñ¢. ï£ñ¢ ܬìð¢¹è¢ °ø¤è¢°÷¢ ªè£´è¢è¤ù¢ø
ñî¤ð¢¹è¬÷ Üï¢îï¢î class-è÷¤ù¢ Constructor function -ø¢°ê¢ ªêô¢½ñ¢ Parameter
ñî¤ð¢¹è÷¢ ݰñ¢.
ܴ Choice cho_course = new choice( ); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢
èõù¤»é¢è÷¢. Þ¶ Combo Box ¬ù ªè£í¢´ õ¼õîø¢è¢°ó¤ò class ݰñ¢.
Þï¢î cho_course âù¢Âñ¢ Choice -ô¢ ïñ袰 «õí¢®ò Item -è÷¢ õó «õí¢´ñ¢
Üô¢ôõ£? Üîø¢° Choice class -ù¢ à÷¢ addItem âù¢Âñ¢ method åù¢Á
à÷¢÷¶. Üî¬ùð¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. init( ) function -ù¤ô¢
cho_course (‘Java’);
cho_course(‘Visual Basic’);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¬õ ¹«ó£è¤ó£ñ¢ Þò颰ñ¢
ªð£¿¶ Combo box-ù¢ à÷¢ õõ¤´ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
ܴ
CheckboxGroup sex_grp = new CheckboxGroup ( );
Checkbox male = new Checkbox (‘Male’, sex_grp, true);
Checkbox Female = new Checkbox (‘Female’, sex_grp, false);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»éè÷¢. ªð£¶õ£è Checkbox âù¢ð¶
Ýñ¢ / Þô¢¬ô ºîô¤ò Þóí¢®ô¢ ãî£õ¶ åù¢ø¤¬ù ªîó¤¾ ªêò¢»ñ¢ð®ò£è
ܬñï¢î¤¼è¢°ñ¢ Object -è¬÷ à¼õ£è¢°õîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. Þ«î
51
Checkbox class àìù¢ CheckboxGroup âù¢Âñ¢ class -¬ù Þ¬í袰ñ¢ ªð£¿¶
ïñ袰 Radio Button-è÷¢ à¼õ£è¢è¤ù¢øù. Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ Male, Female
Ýè¤ò Þóí¢´ Radio Button -è¬÷ à¼õ£è¢°ñ¢ ªð£¼ì¢´ sex_grp âù¢Âñ¢
CheckboxGroup à¼õ£è¢èð¢ð좴 Üî¬ùè¢ ªè£í¢´ Þóí¢´ Checkbox Object-
è÷¢ à¼õ£è¢èð¢ ð좴÷¢÷ù. Þõø¢ø¤ô¢ åù¢ø¤ô¢ True âù¢Áñ¢ ñø¢ªø£ù¢ø¤ô¢
false âù¢Âñ¢ ªè£´è¢èð¢ð좮´÷¢÷¶. True âù¢Á ªè£´î¢î£ô¢ Üï¢î Radio
Button Ýù£¶ Selection -ù¤ô¢ ޼袰ñ¢ âù¢Á𢠪ð£¼÷¢.
ܴ List lst_time = new List( ); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢
èõù¤»é¢è÷¢. Þ¶ Listitem âù¢Áñ¢ õ¬èò¤¬ùê¢ ê£ó¢ï¢î Object -è¬÷ à¼õ£è¢°
õîø¢è¢è£èð¢ ðòù¢ð´è¤ù¢ø¶. Þï¢î õ¬è Object -è÷¤½ñ¢ «õí¢®ò Item -
è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢÷ addItem method Ýù¶ ðòù¢ð´è¤ù¢ø¶. init ( )
function ù¤ô¢
lst_time.addItem(‘Morning’);
lst_time.addItem(‘Afternoon’) ;
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶õ¬ó ï£ñ¢ Label, TextField,
Choice, Checkbox, CheckboxGroup ºîô¤ò awt class -è¬÷ð¢ ðòù¢ð´î¢î¤ âõ¢õ£Á
object -è¬÷ à¼õ£è¢°õ¶ âù¢Á ð£ó¢î¢«î£ñ¢. Þõ¢õ£Á Object -è÷¢ à¼õ£è¢èð¢
ðì¢ì¾ì«ù«ò ܬõ Applet Screen -ô¢ ªîó¤ï¢¶ õ¤ì£¶. Üõø¢¬ø ï£ñ¢
º¬øò£è Applet -´ìù¢ Þ¬íè¢è «õí¢´ñ¢. Þîø¢° add( ) âù¢Âñ¢ function
ðòù¢ ð´è¤ù¢ø¶. ï£ñ¢ âî¢î¬ù Object -è¬÷ à¼õ£è¢è¤ù£½ñ¢ ܬõ Screen
-ô¢ ªîó¤ò «õí¢´ñ¢ âù¢ø£ô¢ Üîø¢° add function -¬ù è좮òñ£è ðòù¢ð´î¢î
«õí¢´ñ¢ âù¢ 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ïñ¢º¬ìò ¹«ó£è¤ó£ñ¤ô¢
add(1bs_sname);
add(txt_sname);
add(lbl_course);
add(cho_course);
âù¢Á à¼õ£è¢èð¢ðì¢ì ܬù object -èÀñ¢ add function -ù¤ù¢ õö¤ò£è
º¬øò£è Applet -®ù¢ à÷¢ Þ¬íè¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þù¢Âñ¢
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ Þóí¢´ õ¤êòé¢è÷¢ èõù¤è¢èð¢ðì¢ì «õí¢®ò¤¼è¢è¤ù¢øù.
ܬõ GridLayout ñø¢Áñ¢ Panel Ýè¤ò¬õè÷£°ñ¢.
ªð£¶õ£è Java -õ¤ô¢ Object -è¬÷ º¬øò£è align ªêò¢õîø¢è¢ªèù¢Á
Layout âù¢ø¬öè¢èð¢ð´ñ¢ å¼ Ü¬ñ𢹠޼è¢è¤ù¢ø¶. 5 õ¬èò£ù Layout -
è÷¢ Java õ¤ô¢ Þ¼è¢è¤ù¢øù. Üõø¢ø¤ô¢ åù¢Á î£ù¢ Þï¢î GridLayout ݰñ¢.
52
Þï¢î ¹«ó£è¤ó£ñ¤ô¢
GridLayout abc = new GridLayout(5,2);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î Layout -®¬ùð¢
ðòù¢ð´î¢î¤ ïñ¢º¬ìò ¹«ó£è¤ó£ñ¤ô¢ âî¢î¬ù row ñø¢Áñ¢ column -è÷¢ Þ¼è¢è
«õí¢´ñ¢ âù¢ðî¬ù õ¬óò¤¼è¢èô£ñ¢. Üîù¢ð® Þ颰 5 row -èÀñ¢ 2
Column -èÀñ¢ õ¼ñ£¼ õ®õ¬ñè¢èð ¢ð좮¼è¢è¤ù¢ø¶. Þ¶ «ð£ù¢Á
à¼õ£è¢èð¢ð´ñ¢ Layout -è÷¢Effect Ýè «õí¢´ñ¢ âù¢ø£ô¢ Üî£õ¶ Þòé¢è
«õí¢´ñ¢ âù¢ø£ô¢ SetLayout( ) âù¢Âñ¢ function -¬ù ðòù¢ð´î¢î¤ âï¢î
Layout Ýù¶ Þòé¢è «õí¢´ñ¢ âù¢Á ªê£ô¢ô «õí¢´ñ¢. Üîù¢ð® init( )
function -ù¤ô¢ SetLayout(abc) âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
Þï¢î function ªè£´è¢èð¢ðì¢ì ð¤ù¢î£ù¢ add function-è÷¢ ªè£´è¢èð¢ð좴÷¢÷ù
âù¢ðî¬ù èõù¤»é¢è÷¢. Üî£õ¶ Object ´è÷¢ Screen -ô¢ ªîó¤»ñ¢ ªð£¿¶
âîï¢î Object -è¬÷ ºîô¤ô¢ add ªêò¢è¤ù¢«ø£«ñ£ Üï¢î õó¤¬êò¤ô¢ 5 Row
-è÷¤ô¢,å¼ Row -õ¤ø¢° 2 Column-è÷¢ âù¢ø õ¤è¤î¢î¤ô¢ Align Ýè¤õ¤´ñ¢.
Þ¼î¤ò£è Panel sex_Pan = new Panel ( ) âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢
ðø¢ø¤è¢ è£í¢«ð£ñ¢. Panel-è÷¢ âùð¢ð´¬õ ñ¤è¾ñ¢ ðòÂ÷¢÷ Object-è÷¢ ݰñ¢.
å¼ Panel -ù¢ à÷¢ ðô¢«õÁ Object -è¬÷ Group ªêò¢¶ ªè£÷¢÷ô£ñ¢. Þõ¢õ£Á
ðô¢«õÁ Object -è¬÷ ï£ñ¢ å¼ Panel Object -®ù¢ à÷¢ Group ªêò¢¶ õ¤ì¢ì
ð¤ø° Üï¢î Panel -¬ù ñ좴ñ¢ ï£ñ¢ Þòè¢è¤ù£ô¢ «ð£¶ñ£ù¶.
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ïñ¢º¬ìò ܬù Object -´èÀñ¢ Þóí¢´
Þóí¢´ Column -è÷£è õó¤¬êò£è Align Ýè «õí¢®ò¤¼è¢è¤ù¢ø¶. Üõ¢õ£Á
޼袰ñ¢ ªð£¿¶ Sex âù¢Á display ªêò¢õîø¢°ø¤ò Label Object-ñ¢ Ü«î
«ïóî¢î¤ô¢ Male ñø¢Áñ¢ Female Ýè¤ò Þóí¢´ Radio Button -èÀñ¢ Ýè «êó¢î¢¶
ªñ£î¢îñ¢ Íù¢Á Object- èÀñ¢ å«ó row õ¤ù¤ô¢ Align Ýè «õí¢´ñ¢. Ýù£ô¢
ïñ¢º¬ìò GridLayout º¬øò¤«ô£ 5, 2 âù¢ø õ¬èò¤ô¢ å«ó column -î¢î¤ô¢
õó º®ò£¶. âù«õ ï£ñ¢ Male ñø¢Áñ¢ Female Ýè¤ò Þóí¢´ Object -è¬÷»ñ¢
sex_pan âù¢Âñ¢ Panel åù¢ø¤¬ù à¼õ£è¢è¤ ÜîÂ÷¢ add ªêò¢¶ õ¤´è¤ù¢«ø£ñ¢.
Üî£õ¶ sex_pan.add(Female); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
Þõ¢õ£Á Panel à¼õ£è¢è¤ò ð¤ù¢¹ Üï¢î Panel -¬ù ñ좴ñ¢ add ªêò¢¶ õ¤ì¢ì£ô¢
«ð£¶ñ£ù¶. âù«õî£ù¢ add(sex_pan); âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢.
Þï¢î º¿ ¹«ó£è¤ó£ñ¤¬ù»ñ¢ Type ªêò¢¶ õ¤ì¢´ student.java âù¢Á
ªðòó¤ì¢´ ð¤ù¢ ºù¢ùó¢ °ø¤ð¢ð¤ì¢ì º¬øè÷¤ô¢ Compile ªêò¢¶ õ¤´é¢è÷¢.
ܴ student.htm âù¢Âñ¢ file- ¬ù à¼õ£è¢è¤ Üî¤ô¢ ð¤ù¢õ¼ñ¢ õó¤è¬÷
53
Type ªè£÷¢Àé¢è÷¢.
<applet code="student.class" width=500 height=200>
</applet>
Þî¬ù appletviewer student.htm âù¢Á ªè£´î¢¶ Þòè¢è¤ð¢ ð£ó¢ð¦ó¢è÷£ù£ô¢
覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ù¢Á Þò颰ñ¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.4
Listing 3.3
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class textsum extends Applet implements ActionListener
{
TextField x,y,tot;
public void init()
{
Label xp=new Label(“X:”,Label.RIGHT);
Label yp=new Label(“Y:”,Label.RIGHT);
54
Label totp=new Label(“Total:”,Label.RIGHT);
x=new TextField(5);
y=new TextField(5);
tot=new TextField(10);
add(xp);
add(x);
add(yp);
add(y);
add(totp);
add(tot);
x.addActionListener(this);
y.addActionListener(this);
tot.addActionListener(this);
}
public void actionPerformed(ActionEvent ae)
{
int a,b,c;
a=Integer.parseInt(x.getText());
b=Integer.parseInt(y.getText());
c=a+b;
tot.setText(“” + c);
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ x, y, tot âù¢Á Íù¢Á TextField object -è¬÷ à¼õ£è¢è¤
Üõø¢Á÷¢x ñø¢Áñ¢ y Ýè¤ò Object -è÷¤ô¢ Type ªêò¢òð¢ð´ñ¢ ñî¤ð¢¹è¬÷ Ã좮
tot âù¢Âñ¢ Object -ù¢ à÷¢ «ð£´ñ£Á â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢.
ï£ñ¢ x ñø¢Áñ¢ y Ýè¤ò Object -è÷¤ô¢ ñî¤ð¢¹è¬÷ Type ªêò¢î ð¤ø° Enter Key
ò¤¬ù Ü¿î¢î¤ò¾ìù¢ ïñ袰 Calculation ïìè¢è «õí¢´ñ¢ Üô¢ôõ£? Üîø¢è¢è£è
ï£ñ¢ implements ActionListener âù¢Âñ¢ õ£è¢è¤òî¢î¤¬ù
class-¬ù â¿¶ñ¢ Þìî¢î¤ù¤ô¢ Þ¬íî¢î¤¼è¢è¤ù¢«ø£ñ¢. Üî£õ¶
public class textsum extends Applet implements ActionListener
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. ActionListener âù¢ð¶ å¼
Interface ݰñ¢. Þ¶ «ð£ù¢Á 郎øò Interface -è÷¢ Þ¼è¢è¤ù¢øù. ïñ袰
55
«õí¢®ò Interface-¬ùð¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ implements âù¢Âñ¢ èì¢ì¬÷
ðòù¢ð´è¤ù¢ø¶.
TextField x,y,tot; âù¢Á init( ) function-ø¢° «ñô¢ Global Ýè âù¢Á Íù¢Á
Object ´è¬÷ define ªêò¢¶ ¬õî¢î¤¼è¢è¤ù¢«ø£ñ¢. ãªùù¤ô¢ Þõ¢õ£Á Global
Ýè â¿¶ñ¢ ªð£¿¶ textsum class -¬ìò ܬù method è÷¤½ñ¢
Üõø¢¬øð¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
init( ) function -ù¤ô¢ xp, yb, totp âù¢ø ªðòó¢è÷¤ô¢ Íù¢Á Label Object -è÷¢
à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. ܬõ Right align Ýõîø¢è¢è£è
Label.RIGHT âù¢Á ªè£´è¢èð¢ð좮¼è¢è¤ù¢ø¶.
x, y, tot Ýè¤ò object-è÷¢ new operator -ø¤¬ùð¢ ðòù¢ð´î¢î¤ à¼õ£è¢èð
¢ðì¢ìð¤ù¢ ܬõ add function Íôñ¢ õó¤¬êò£è Applet -®Â÷¢ add ªêò¢òð¢
ð좮¼è¢è¤ù¢øù. ï£ñ¢ Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ºè¢è¤òñ£è èõù¤è¢è «õí¢®ò¶.
x.addActionListener(this);
y.addActionListener(this);
tot.addActionListener(this);
âù¢Âñ¢ õó¤è¬÷î¢î£ù¢. Üî£õ¶ Þï¢î addActionListener( ) âù¢Âñ¢ function
-ä ªè£´ð¢ðîù¢ Íôñ¢, âð¢ªð£¿¶ªîô¢ô£ñ¢ ï£ñ¢ Þï¢î Object ´è÷¤ô¢ Enter
Key ò¤¬ù ܿè¤ù¢«ø£«ñ£ Üð¢ªð£¿ªîô¢ô£ñ¢ actioPerformed âù¢Âñ¢
event Ýù¶ î£ù£è Þòé¢è¤õ¤´ñ¢.
Public void actionperformed(ActionEvent ae)
âù¢ø õ®õ¤ô¢ ޼袰ñ¢ Þï¢î Event Ýù¶ ActionListener âù¢Âñ¢ Interface
-¬ù Þï¢î ¹«ó£è¤ó£ñ¤ô¢ implement ªêò¢î¤¼ð¢ðîù£ô¢ î£ù¢
ðòù¢ð´î¢îð¢ð´è¤ù¢ø¶ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
Þï¢î actionperformed( ) function -ô¢ ï£ñ¢ a, b, c âù¢Á Íù¢Á integer
variable-è¬÷ int data type -ù¤ô¢ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î variable è÷¤ô¢
ï£ñ¢ x, y TexField è÷¤ô¢ Type ªêò¢î ñî¤ð¢¹è¬÷ â´î¢¶ð¢ «ð£´è¤ù¢«ø£ñ¢.
a = Integer.ParseInt(x.getText ( ));
b = Integer.ParseInt(y.getText ( ));
âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þî¤ô¢ getText âù¢ð¶ TextField class
-ù¢ member function ݰñ¢. Þî¬ùð¢ ðòù¢ð´î¢¶ñ¢ ªð£¿¶ ï£ñ¢ âù¢ù
ñî¤ð¢¹è¬÷ TextField-è÷¤ù¢ à÷¢ Type ªêò¢î¤¼è¢è¤ù¢«ø£«ñ£ Üõø¢¬øð¢
56
ªðø¢Á袪è£÷¢÷ô£ñ¢.
Þï¢î º¬øò¤ô¢ ï£ñ¢ TextField -è÷¤ô¢ ޼袰ñ¢ ñî¤ð¢¹è¬÷ ªð¼ñ¢ªð£¿¶
ܬõ String data type Ýè ޼袰ñ¢. Þõø¢¬ø int data type Ýè ñ£ø¢ø¤ù£ô¢
î£ù¢ ïñ袰 Calculation è¬÷ê¢ ªêò¢ò º®»ñ£îô£ô¢ Integer.ParseInt âù¢Âñ¢
function ù¤¬ùð¢ ðòù¢ð´î¢î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Integer.ParseInt function
Ýù¶ String õ®õ¤ô¢ ޼袰ñ¢ Number è¬÷ Integer data type Ýè ñ£ø¢ø¤è¢
ªè£´î¢¶õ¤´ñ¢.
ܴ c = a + b; âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ x , y Object -®ô¢ à÷¢÷
ñî¤ð¢¹è¬÷ Ã좮 c âÂñ¢ variable-ô¢ «ð£ì¢´ õ¤ì¢«ì£ñ¢. Þð¢ªð£¿¶ Þï¢î c
ò¤ô¢ à÷¢÷ ñî¤ð¢ð¤¬ù tot âù¢Âñ¢ TextField -ù¢ à÷¢ «ð£ì «õí¢´ñ¢ Üô¢ôõ£?
Üîø¢° TextField class -ô¢ à÷¢÷ setText âù¢Âñ¢ function
ðòù¢ð´î¢îð¢ð´è¤ù¢ø¶.
tot.setText (“” + c);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. SetText function -ù¤ù¢ Íôñ¢
String data è¬÷ ñ좴«ñ â¿î º®»ñ£îô£ô¢ c ò¤ô¢ à÷¢÷ Integer
ñî¤ð¢¹è¬÷ type cast ªêò¢õîø¢è¢è£è “” + c âù¢Á String -°ìù¢ «êó¢î¢¶è¢
ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢.
Þï¢î𢠹«ó£è¤ó£ñ¤¬ù compile ªêò¢¶ 覫ö ªè£´è¢èð¢ð좴÷¢÷õ£Á
à÷¢÷ õó¤è¬÷ð¢ ðòù¢ð´î¢î¤ HTML file åù¢ø¤¬ù à¼õ£è¢è¤ Üî¬ù Þòè¢è¤ð¢
ð£¼é¢è÷¢.
<applet code="textsum.class" width=500 height=400>
</applet>
57
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.5
Listing 3.4
import java.awt.*;
import java.applet.*;
import java.util.*;
public class border extends Applet
{
Button top = new Button(“Top”);
Button bottom = new Button(“Bottom”);
Button right = new Button(“Right”);
Button left = new Button(“Left”);
String msg=”Java is intresting.......”;
TextArea hi = new TextArea(msg);
public void init()
58
{
BorderLayout abc = new BorderLayout();
setLayout(abc);
add(top,BorderLayout.NORTH);
add(bottom,BorderLayout.SOUTH);
add(right,BorderLayout.WEST);
add(left,BorderLayout.EAST);
add(hi,BorderLayout.CENTER);
}
public boolean action(Event evt,Object arg)
{
if(evt.target instanceof Button)
{
String lab=(String)arg;
if (lab.equals(“Top”))
{
hi.setText(“I am in Top”);
}
if (lab.equals(“Bottom”))
{
hi.setText(“I am in Bottom”);
}
if (lab.equals(“Left”))
{
hi.setText(“I am in Left”);
}
if (lab.equals(“Right”))
{
hi.setText(“I am in Right”);
}
}
return true;
}
59
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ Push Button âù¢Á ܬöè¢èð¢ðìè¢Ã®ò Button
-è¬÷ âõ¢õ£Á à¼õ£è¢è¤ ðòù¢ð´î¢¶õ¶ âù¢Á è£í¢è¤ù¢«ø£ñ¢.
Button top = new Button (“Top”);
âù¢ø õ¬èò¤ô¢ Button âù¢Âñ¢ class -¬ùð¢ ðòù¢ð´î¢î¤ Object -è÷¢ à¼õ£è¢èð¢
ð좮¼ð¢ð¬îè¢ è£í¢è¤ù¢ø¦ó¢è÷¢. top, bottom, right, left âù¢Á ï£ù¢° Button è÷¢
à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù.
String msg = “Java is interesting ....”;
Text rea hi = new TextArea(msg);
âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ ï£ñ¢ å¼ TextArea object -¬ù à¼õ£è¢è¤
ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î TextArea-è÷¢ ðô õó¤è¬÷ ªè£í¢ì Text Paragraph -
è¬÷ à÷¢÷¦´è÷£è𢠪ð¼õîø¢°ñ¢, display ªêò¢õîø¢°ñ¢ ðòù¢ð´è¤ù¢øù.
Object-è¬÷ à¼õ£è¢è¤ò ð¤ù¢ init( ) function -ô¢
BorderLayout abc = new BorderLayout( );
SetLayout (abc);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Java-õ¤ô¢ ޼袰ñ¢ 5 Layout
õ¬èè÷¤ô¢ åù¢ø£°ñ¢. Þï¢î BorderLayout -¬ùð¢ ðòù¢ð´î¢î¤ ï¦é¢è÷¢ Object-
è¬÷ Top, Bottom, Left, Right, Center âù¢ø ä ͬôè÷¢è÷¤ô¢ Align ªêò¢¶
ªè£÷¢÷ô£ñ¢. Object -è¬÷ Applet -ô¢ add ªêò¢»ñ¢ ªð£¿¶,
add(top,BorderLayout.NORTH);
add(bottom,BorderLayout.SOUTH);
âù¢ø õ¬èò¤ô¢ âï¢î Þìî¢î¤ô¢ ܬõ õó «õí¢´ñ¢ âù¢Á °ø¤ð¢ð¤´õ¬îè¢
èõù¤»é¢è÷¢. Þð¢ªð£¿¶ ï£ñ¢ Button -è¬÷ à¼õ£è¢è¤ Üõø¢¬ø Applet -½ñ¢
add ªêò¢¶ õ¤ì¢«ì£ñ¢. ¹«ó£è¤ó£ñ¢ Þò颰ñ¢ ªð£¿¶ ï£ñ¢ Üï¢î Button è¬÷
ܿ«õ£«ñò£ù£ô¢ (Press) âù¢ù ïìè¢è «õí¢´ñ¢ âù¢ðîø¢°ø¤ò
¹«ó£è¤ó£ñ¤¬ù â¿î «õí¢´ñ¢ Üô¢ôõ£? Üîø¢°,
public boolean action(Event evt, object arg)
âù¢ø event åù¢Á â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î action Event Ýù¶
âð¢ªð£¿ªîô¢ô£ñ¢ Button,Choice ºîô¤ò Class è÷¤ù¢ Object-è¬÷ Press ðù¢Âñ¢«ð£¶ñ¢
î£ù£è Þòé¢è¤õ¤´ñ¢. Þï¢î actionEvent-¬ùð¢ ðòù¢ ð´î¢¶õîø¢° âï¢îªõ£Á interface
-»ñ¢ Implement ªêò¢òî¬õò¤ô¢¬ô âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
Þòø¢è¢¬èò£è«õ Event ñø¢Áñ¢ Object âù¢ø Þóí¢´ class è÷¤ù¢ variable è÷¢ parameter
60
Þ¼ð¢ðîù£ô¢, Þõø¢ø¤ô¢ ï£ñ¢ âï¢î Button,Choiceºîô¤ò Object-¬ù Click ªêò¢è¤ù¢«ø£ñ¢
«ð£ù¢ø îèõô¢è÷¢ õ õ¤´è¤ù¢øù.
if(evt.target instanceOf Button)
âù¢ø õó¤ò¤¬ù èõù¤»é¢è÷¢ Þ颰 instanceOf âù¢ð¶ Java -õ¤ô¢ ޼袰ñ¢ å¼
Keyword ݰñ¢. Þî¬ùð¢ ðòù¢ð´î¢î¤ å¼ variable Ýù¶ âï¢î class- ä ê£ó¢ï¢¶
Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢. ï£ñ¢ Button object åù¢ø¤¬ù click
ªêò¢î¤¼ï¢î£ô¢ Þï¢î if condition ù¤ù¢ à÷¢ ï£ñ¢ ªêô¢ô º®»ñ¢. Üõ¢õ£Á ªêô¢½ñ¢
ªð£¿¶ arg âù¢Âñ¢ parameter variable -ô¢ ï£ñ¢ click ªêò¢î Button -ù¤ù¢ caption
Ýù¶ ޼袰ñ¢ ܬî String õ¬èò£ùî£è cast ªêò¢¶ å¼ String varible -ô¢
«ð£´è¤ù¢«ø£ñ¢.
Þï¢î String variable -ù¢ à÷¢ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù equals
âù¢Âñ¢ function -ä ¬õî¢¶è¢ èí¢´ð¤®î¢¶ Üîù¢ Ü®ð¢ð¬ìò¤ô¢ âï¢î Button-
ù¤¬ù click ªêò¢«î£ñ¢ âù¢ðî¬ù Üø¤òô£ñ¢. Þ颰 åõ¢ªõ£¼ Button Ýè click
ªêò¢î£ô¢, âù¢ù ªêò¢ò «õí¢´ñ¢ âù¢Á îù¤î¢îù¤ò£è ¹«ó£è¤ó£ñ¢ â¿îð¢ð좴÷¢÷¶.
Þ¼î¤ò£è return true; âù¢Á ªè£´è¢èð¢ð좴÷¢÷¬îè¢ èõù¤»é¢è÷¢. Þî¬ù
èí¢®ð¢ð£è ªè´è¢è «õù¢´ñ¢. ãªùù¤ô¢ boolean data type-¬ù return data type Ýè
ªè£í¢´÷¢÷¶. trueâù¢Á ªè£´î¢î£ô¢event ªõø¢ø¤èóñ£è Þòé¢è¤ò¶ âù¢Á ªð£¼÷¢.
Þ颰 False âù¢Áñ¢ ªè£´è¢èô£ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
Üõ¢õ£ªøù¤ô¢ event ªõø¢ø¤èóñ£è Þòé¢èõ¤ô¢¬ô âù¢Á ªð£¼÷¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.6
61
Listing 3.5
import java.awt.*;
import java.applet.Applet;
public class gridb extends Applet
{
protected void addGridBagButton(String buttonName,
GridBagLayout gb,GridBagConstraints gbc)
{
Button button=new Button(buttonName);
gb.setConstraints(button,gbc);
add(button);
}
public void init()
{
resize(400,300);
GridBagLayout gridbag=new GridBagLayout();
GridBagConstraints c=new GridBagConstraints();
setLayout(gridbag);
c.fill=GridBagConstraints.BOTH;
c.weightx=1.0;
addGridBagButton(“Button1”,gridbag,c);
c.gridwidth=GridBagConstraints.REMAINDER;
addGridBagButton(“Button2”,gridbag,c);
addGridBagButton(“Button3”,gridbag,c);
c.weighty=1.0;
addGridBagButton(“Button4”,gridbag,c);
c.gridwidth=1;
c.weighty=0.0;
addGridBagButton(“Button5”,gridbag,c);
c.weightx=0.0;
addGridBagButton(“Button6”,gridbag,c);
c.gridwidth=GridBagConstraints.REMAINDER;
62
addGridBagButton(“Button7”,gridbag,c);
c.gridwidth=1;
c.gridheight=2;
c.weighty=1.5;
addGridBagButton(“Button8”,gridbag,c);
c.weighty=0.0;
c.gridwidth=GridBagConstraints.REMAINDER;
c.gridheight=1;
addGridBagButton(“Button9”,gridbag,c);
addGridBagButton(“Button10”,gridbag,c);
c.weighty=1.0;
addGridBagButton(“Button11”,gridbag,c);
c.weighty=0.0;
addGridBagButton(“Button12”,gridbag,c);
}
}
Þ颰 ¹«ó£è¤ó£ñ¤ô¢ GridBagLayout âù¢ø Layout º¬ø ðòù¢ð´î¢îð¢
ð좮¼è¢è¤ù¢ø¶. Þï¢î Layout -ù¢ Íôñ¢ Object -è¬÷ «õí¢®ò ï¦÷ñ¢ ñø¢Áñ¢
Üèôé¢è÷¤ô¢ °ø¤ð¢ð¤ì¢ì row ñø¢Áñ¢column-î¢î¤ô¢align ªêò¢õîø¢°ð¢ ðòù¢ ð´è¤ù¢ø¶.
GridBagLayout gridbag = new GridBagLayout( );
GridBagConstraints c = new GridBagConstraints( );
âù¢ø ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þî¤ô¢ GridBagLayout âù¢ð¶ ïñ¢º¬ìò
Layout ݰñ¢. Þï¢î Layout -ô¢ ïñ¢º¬ìò Object -è÷¢ âï¢î Row, Column Ýè¤ò
Þìî¢î¤ô¢ Þ¼è¢è «õí¢´ñ¢ ñø¢Áñ¢ âõ¢õ£Á ï¦÷ Üèôé¢è¬÷
ªè£í¢®¼è¢è«õí¢´ñ¢ «ð£ù¢ø Ü÷¾è¬÷è¢ ªè£´ð¢ðîø¢°GridBagConstraintsâù¢ø
Class ¬ìò Object -è÷¢ ðòù¢ð´è¤ù¢øù.Þï¢î class -ù¢ à÷¢ fill, weightx, weighty,
gridWidth,gridHeight,gridx,gridy âù¢Á ðô Propertyvariable-è÷¢ Þ¼è¢è¤ù¢øù. Þõø¢ø¤ô¢
«õí¢®ò ñî¤ð¢¹è¬÷ ªè£´î¢¶õ¤ì¢´ ð¤ù¢ùó¢ ܬõ âï¢î Object -ø¢° apply Ýè
«õí¢´ñ¢ âù¢Áñ¢ ªê£ô¢ô«õí¢´ñ¢.
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ConstraintVariable è÷¤ô¢ ñî¤ð¢¹è¬÷ Set ªêò¢õîø¢è¢ ªèù¢«ø
63
addGridBagButton âù¢Âñ¢ function â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î function
-ô¢ «õí¢®ò Button Object -è¬÷ Üõø¢ø¤è¢°î¢ «î¬õò£ù constraint ñî¤ð¢¹è÷¤ô¢
assign ªêò¢¶ ªè£÷¢÷ô£ñ¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.7
Listing 3.6
import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;
public class cardtest extends Applet
{
CardLayout card = new CardLayout();
public void init()
{
resize(400,300);
setLayout(card);
Panel p1 = new Panel();
p1.add(new Button(“This is a button on Panel One”));
add(p1,””);
64
addMouseListener(p1);
Panel p2 = new Panel();
p2.add(new Button(“This is a button on Panel Two”));
add(p2,””);
addMouseListener(p2);
Panel p3 = new Panel();
p3.add(new Button(“This is a button on Panel Three”));
add(p3,””);
addMouseListener(p3);
Panel p4 = new Panel();
p4.add(new Button(“This is a button on Panel Four”));
add(p4,””);
addMouseListener(p4);
card.first(this);
}
void addMouseListener(Panel p)
{
p.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
card.next(cardtest.this);
}
});
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ CardLayout âù¢Âñ¢ Layout º¬ø õ¤÷è¢èð¢ð좴÷¢÷¶.
65
Þï¢î Layout º¬øò¤ô¢ å«ó «ïóî¢î¤ô¢ å«ó å¼ Component -¬ù ñ좴«ñ
display ªêò¢¶ ªè£÷¢÷ º®»ñ¢. âù«õ ï£ñ¢ ðô¢«õÁ Panel -è¬÷ à¼õ£è¢è¤
Üõø¢ø¤ô¢ ªõõ¢«õÁ Layout -è¬÷ ªêò¢¶ ªè£÷¢÷ô£ñ¢. Ýù£ô¢ Þï¢î Panel
-è¬÷ åõ¢ªõ£ù¢ø£èî¢î£ù¢ CardLayout -ô¢ display ªêò¢¶ ªè£÷¢÷ º®»ñ¢
âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.8
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ðô Panel-è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù.
Üõø¢¬øè¢ Click ªêò¢î¾ìù¢ åõ¢ªõ£Á Panel Ýè ñ£ø¢ø¤ display ªêò¢»ñ¢ð®è¢°
card.next(cardtest.this) âù¢Âñ¢ function ðòù¢ð´î¢îð¢ð좮¼è¢è¤ù¢ø¶.
°ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹
Þ¶õ¬ó ï£ñ¢ FlowLayout, GridLayout, GridBagLayout, BorderLayout,
CardLayout âù¢Âñ¢ ä õ¬è Layout-è¬÷ ðòù¢ð´î¢î¤ âõ¢õ£Á awt
Package-ô¢ à÷¢÷ TextField, Label, Button ºîô£ù ðô¢«õÁ Object -è¬÷
à¼õ£è¢°õ¶ âù¾ñ¢, Üõø¢¬ø ðòù¢ð´î¢¶ñ¢ ªð£¿¶ âù¢ù ïìè¢è
«õí¢´ñ¢ âù¢Á ªê£ô¢õîø¢è¢°ø¤ò Event-è¬÷ âõ¢õ£Á ¬èò£÷¢õ¶
âù¢ðî¬ù»ñ¢ Üø¤ï¢î¤¼è¢è¤ù¢«ø£ñ¢.
Windows Application
abstract windowing toolkit (awt) Package-ô¢ à÷¢÷ Component-è¬÷ð¢
66
ðòù¢ð´î¢î¤ Þ¶õ¬ó applet -è¬÷ âõ¢õ£Á à¼õ£è¢°õ¶ âù¢Á ð£ó¢î¢î¤¼è¢
è¤ù¢«ø£ñ¢. Þ«î awt Package -ô¢ à÷¢÷ Component-è¬÷ ªè£í¢´ Windows
Operating System -î¢î¤ô¢ «õ¬ô ªêò¢»ñ¢ Application-è¬÷»ñ¢ à¼õ£è¢è º®»ñ¢.
Visual Basic ºîô£ù GUI Package è¬÷ à¼õ£è¢°õ¶ «ð£ù¢«ø ܬù
õ¬èò£ù Application -è¬÷»ñ¢ Java-õ¤ô¢ à¼õ£è¢è Þò½ñ¢.
ªð£¶õ£è windows -ô¢ å¼ Application Þòé¢è «õí¢´ñ¢ âù¢ø£ô¢ Üï¢î
Application -ø¢° âù¢Á å¼ window frame Þ¼è¢è «õí¢´ñ¢ Üô¢ôõ£? Üî£õ¶
TitleBar, Minimize Button, Maximize Button, Close Box Ýè¤òõø¢¬ø ªè£í¢ì Frame
åù¢Á Üõñê¤òñ¢. Üî¢î¬èò Frame åù¢ø¤¬ù à¼õ£è¢è¤ Üî¤ô¢ ïñ¢º¬ìò
Component-è¬÷ «ð£ì¢´î¢ ªè£÷¢÷ô£ñ¢.
°ø¤ð¢ð£è Application åù¢ø¤¬ù â¿î «õí¢´ñ¢ âù¢ø£ô¢ main( ) function-
ô¢ î£ù¢ ¹«ó£è¤ó£ñ¤¬ù â¿î «õí¢´ñ¢ âù¢ðî¬ù âð¢ªð£¿¶ñ¢ 郎ùõ¤ô¢
ªè£÷¢Àé¢è÷¢.
Listing 3.7
import java.awt.*;
import java.awt.event.*;
public class appl
{
public static void main(String a[])
{
Frame baskar=new Frame(“Application”);
baskar.resize(300,300);
baskar.show();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ main ( ) function ù¤¬ù ðòù¢ð´î¢î¤ò¤¼ð¢ð¬îè¢
èõù¤»é¢è÷¢. âù«õ Þ¶ å¼ Application ݰñ¢. Þî¤ô¢
Frame xyz = new Frame(‘Application’);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î class-ù¢ Íôñ¢ ïñ袰
å¼ Window frame 褬ìè¢è¤ù¢ø¶. constructors-ô¢ ªè£´è¢°ñ¢ String Ýù¶
window õ¤ù¢ Title Ýè õ¼è¤ù¢ø¶. Þï¢î window õ£ù¶ âï¢î ï¦÷ñ¢ ñø¢Áñ¢
67
Üèôî¢î¤ô¢ õó«õí¢´ñ¢ âù¢ðîø¢è¢è£è
xyz.resize(300,300);
âù¢Âñ¢ member function ù¤¬ù ðòù¢ð´î¢î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ¼î¤ò£è
xyz.show ( );
âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ ïñ¢º¬ìò frame Ýù¶ Display Ýè¤ù¢ø¶. Þî¬ù
javac appl.java âù¢Á ªè£´î¢¶ Compile ªêò¢¶ õ¤ì¢´ java appl âù¢Á ªè£´î¢¶
Run ªêò¢¶ ð£¼é¢è÷¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.9
«ñø¢èí¢ìõ£Á window ªîó¤õî¬ùè¢ è£íô£ñ¢. Þï¢î window -
õ¤ù¤ô¢ ªîó¤è¤ù¢ø Minimize ñø¢Áñ¢ Maximize Button-è÷¢ ºîô¤òù Þò颰ñ¢.
Ýù£ô¢ Close Button Ýù¶ Þòé¢è£¶. ãªùù¤ô¢ Üîø¢è¢ªèù¢Á îù¤ò£è
Event åù¢ø¤¬ù â¿î «õí¢´ñ¢. âù«õ Þï¢î ¹«ó£è¤ó£ñ¢ Þò颰ñ¢ ªð£¿¶
Dos Prompt-ô¢ Ctrl+C âù¢Á Shortcut key ò¤¬ùð¢ ðòù¢ð´î¢î¤ ¹«ó£è¤ó£ñ¤ù¢
Þòè¢èî ï¤Áî¢î¤è¢ ªè£÷¢Àé¢è÷¢.
Listing 3.8
import java.awt.*;
68
import java.awt.event.*;
public class my_app
{
Frame my_frm=new Frame(“My Application”);
Label lname=new Label(“User Name”);
TextField tname=new TextField(20);
Label lpass=new Label(“Password”);
TextField tpass=new TextField(20);
my_app()
{
my_frm.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
tpass.setEchoChar(‘x’);
Panel my_pan=new Panel();
my_pan.setLayout(new GridLayout(2,2));
my_pan.add(lname);
my_pan.add(tname);
my_pan.add(lpass);
my_pan.add(tpass);
BorderLayout xyz=new BorderLayout();
my_frm.setLayout(xyz);
my_frm.add(my_pan,BorderLayout.CENTER);
69
my_frm.resize(250,100);
my_frm.show();
}
static void main(String argv[])
{
my_app hello=new my_app();
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ my_frm âù¢ªø£¼ frame à¼õ£è¢èð¢ð좮¼è¢è¤ù¢ø¶.
lname, lpass âù¢Á Þóí¢´ Label Object-èÀñ¢ ñø¢Áñ¢ tname, tpass âù¢Á Þóí¢´
TextField object-èÀñ¢ à¼õ£è¢èð¢ð좴÷¢÷ù. Þï¢î Object-è÷¢ Þï¢î Frame
ù¤ô¢ õ¼õîø¢è¢è£è ¹«ó£è¤ó£ñ¢ â¿îð¢ð좴÷¢÷¶. my_app( ) âù¢Á å¼ Con-
structor function â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. ÞîÂ÷¢ ï£ñ¢ ܬù
initialize «õ¬ôè¬÷»ñ¢ ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢. main ( ) function ù¤ô¢
my_app hello = new my_app( );
âù¢Á ïñ¢º¬ìò class -ø¢° å¼ Object à¼õ£è¢èð¢ð´õ¬îè¢ èõù¤»é¢è÷¢.
Þï¢î Object à¼õ£°ñ¢ ªð£¿¶ Üï¢î Object -ô¢ à÷¢÷ Class-ù¢ ܬù
Variable èÀñ¢ à¼õ£è¢èð¢ð좴 Constructor Function -Âñ¢ î£ù£è Þòé¢è
70
Ýóñ¢ð¤è¢è¤ù¢ø¶. Constructor Function ù¤ù¢ à÷¢
my_frm.addwindowListener(new windowAdopter( ) {
public void windowClosing (WindowEvent e ) {
System.exit(0);
}
});
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ ïñ¢º¬ìò frame Ýù
my_frm object-ù¢ Close Button ù¤¬ù click ªêò¢î£ô¢ Þò颰ñ¢ event ݰñ¢.
System.exit (0); function Ýù¶ Application-ù¤ù¢ Þòè¢èî 祿è¤ù¢ø¶.
ð¤ù¢ my_pan âù¢ø Panel åù¢Á à¼õ£è¢èð¢ð좴 Üî¤ô¢ GridLayout
Ýù¶ Set ªêò¢òð¢ð좮¼è¢è¤ù¢ø¶. Üîù¢ à÷¢ ïñ¢º¬ìò lname, tname, lpass,
tpass Ýè¤ò Object-è÷¢ Þ¬íè¢èð¢ð´è¤ù¢øù. Þï¢îð¢ Panel -¬ù ïñ¢º¬ìò
frame à÷¢ Þ¬í袰ñ¢ ºù¢ BorderLayout object åù¢Á à¼õ£è¢èð¢ð좴 ܶ
frame ¬ìò Layout Ýè Set ªêò¢òð¢ð´è¤ù¢ø¶. ð¤ù¢ùó¢ Panel Object Ýù¶
frameù¢ à÷¢add ªêò¢òð¢ð´è¤ù¢ø¶. ð¤ù¢ùó¢ frame resize ªêò¢òð¢ð좴 show
ªêò¢òð¢ð´ è¤ù¢ø¶.
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.10
71
Menu Program
Listing 3.9
import java.awt.*;
import java.awt.event.*;
public class menu
{
public static void main(String a[])
{
Frame my_frm=new Frame(“Menu Programme”);
MenuBar bar = new MenuBar();
Menu File = new Menu(“File”);
Menu Edit = new Menu(“Edit”);
// MenuItem abc=new MenuItem(“New...”);
// File.add(abc);
File.add(new MenuItem(“New”));
File.add(new MenuItem(“Open”));
File.add(new MenuItem(“Save”));
File.add(new MenuItem(“Save As”));
File.add(new MenuItem(“-”));
File.add(new MenuItem(“PageSetup”));
File.add(new MenuItem(“Print”));
File.add(new MenuItem(“-”));
File.add(new MenuItem(“Exit”));
Edit.add(new MenuItem(“Undo”));
Edit.add(new MenuItem(“-”));
Edit.add(new MenuItem(“Cut”));
Edit.add(new MenuItem(“Copy”));
Edit.add(new MenuItem(“Paste”));
bar.add(File);
bar.add(Edit);
my_frm.setMenuBar(bar);
my_frm.resize(300,300);
my_frm.show();
72
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ menu -õ¤¬ù âõ¢õ£Á à¼õ£è¢°õ¶ âù¢Á
ð£ó¢è¢èô£ñ¢. ºîô¤ô¢ ï£ñ¢ å¼ frame -¬ù à¼õ£è¢è «õí¢´ñ¢. ãªùù¤ô¢
frame -ô¢ î£ù¢ menu õó «õí¢´ñ¢ Üô¢ôõ£? Üîø¢è¢è£è my_frm âù¢ø
ªðòó¤ô¢frame à¼õ£è¢èð¢ð좮¼è¢è¤ù¢ø¶. ܴ
MenuBar bar = new MenuBar( );
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î MenuBar Class ù¢ Íôñ¢
î£ù¢ ïñ¢ frame ù¢ à÷¢ menu -õ¤¬ù à¼õ£è¢è Þò½ñ¢. Þï¢î MenuBar -
ø¤ù¤ô¢ ïñ袰 «î¬õò£ù Menu -è¬÷ à¼õ£è¢è Menu âù¢Áñ¢
èì¢ì¬÷ò¤¬ù ðòù¢ð´î¢îô£ñ¢.
Menu File = new Menu (‘File’);
Menu File = new Menu (‘Edit’);
Þ颰 File, Edit âù¢Á Þóí¢´ menu-è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. Menu
õ¤ø¢è¢°÷¢ õó«õí¢®òù âù¢ù âù¢Á ªê£ô¢õîø¢è¢è£è menu Item âù¢ªø£¼
class Þ¼è¢è¤ù¢ø¶. Þî¬ùð¢ ðòù¢ð´î¢î¤ Menu õ¤ø¢° «õí¢®ò Item è¬÷
à¼õ£è¢è¤è¢ ªè£÷¢÷ô£ñ¢.
File.add(new MenuItem(‘New’);
âù¢ø º¬øò¤ô¢ MenuItem-è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢÷ô£ñ¢. Þ¼î¤ò£è
ïñ¢º¬ìò Menu-è¬÷ MenuBar object-´ìù¢ Þ¬íè¢è «õí¢´ñ¢
âù¢ðîø¢è¢è£è
bar.add(File);
bar.add(Edit);
ܴ Þï¢î MenuBar-¬ù ïñ¢º¬ìò frame-ù¢ à÷¢ set ªêò¢ò «õí¢´ñ¢
âù¢ðîø¢è¢è£è
my.frm.setMenuBar(bar);
âù¢ø èì¢ì¬÷¬òð¢ ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢. è¬ìê¤ò¤ô¢ frame -¬ù Display
ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
73
ðì‹ðì‹ðì‹ðì‹ðì‹ 3.11
74
Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 4.
JavaDraw å¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ù Drawing ¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢
awt-ò¤ô¢ à÷¢÷ ªð¼ñ¢ð£ù¢¬ñò£ù Class object-è¬÷è¢ ªè£í¢´ å¼
º¿¬ñò£ù Drawing ¹«ó£è¤ó£ñ¢ Þ颰 õ¤÷è¢èð¢ð´è¤ù¢ø¶. Þ¶ Applet Ýè¾ñ¢
Ü«î êñòî¢î¤ô¢ Application ¹«ó£è¤ó£ñ£è¾ñ¢ â¿îð¢ð좴÷¢÷î£ô¢ å«ó
êñòî¢î¤ô¢ Þóí¢´ õ¬èè÷¤½ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
Þ¶ å¼ º¿¬ñò£ù ¹«ó£è¤ó£ñ£è Þ¼ð¢ðî£ô¢ Þîù¢ Þòè¢èî
Üø¤ï¢¶ ªè£í¢ìð¤ø° ïñ¢ñ£ô¢ ªðó¤ò ¹«ó£è¤ó£ñ¢è¬÷ â¿î Þò½ñ¢. Þï¢î
¹«ó£è¤ó£ñ¤ô¢ Line, Circle, Box ºîô£ù õ®õé¢è÷¤ô¢ â¶ «õí¢´«ñ£ Üî¬ù
ªîó¤¾ ªêò¢¶ «õí¢®ò èôó¢è÷¤ô¢ õ¬óòô£ñ¢. Üî£õ¶ 覫ö ªè£´è¢èð¢
ð좴÷¢÷ ðìî¢î¤ô¢ à÷¢÷¶ «ð£ô¢ Þò颰ñ¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 4.1
Þï¢î ¹«ó£è¤ó£ñ¢ å«ó File Ýè â¿îð¢ðìõ¤ô¢¬ô. ñ£ø£è ä îù¤î¢îù¤
Java ¹«ó£è¤ó£ñ¢è÷£è â¿îð¢ð좴÷¢÷ù ܬõ
WidgetPanel.java
JavaDrawFrame.java
JavaDraw.java
Shape.java
UltraColor.java
75
覫ö ªè£´è¢èð¢ð좴÷¢÷ Þï¢î file-è÷¤ù¢ Source File-è¬÷ Þ颰
ªè£´è¢èð¢ð좴÷¢÷õ£«ø Type ªêò¢¶ Save ªêò¢î ð¤ù¢ îù¤î¢îù¤ò£è Compile
ªêò¢»é¢è÷¢.
WidgetPanel.java
import java.awt.*;
import java.awt.event.*;
import java.awt.Image;
import java.applet.*;
import java.net.*;
import Shape.*;
class WidgetPanel extends Panel
{
private final String AboutButtonName=”About...”,
ClearButtonName=”CLEAR!”;
protected boolean About_Mode=false;
protected Choice shapeChoice=null,
colorChoice=null;
private Checkbox fillCheckbox=null,
threeDCheckbox=null;
private final static int _WIDTH=400,_HEIGHT=60;
private int width=0,height=0;
public WidgetPanel()
{
this(0,0);
}
public WidgetPanel(int width,int height)
{
setSize(width,height);
new Panel();
setBackground(Color.lightGray);
76
Button b=new Button(AboutButtonName);
b.addActionListener(new ActionHandler()
{
public void actionPerformed(ActionEvent e)
{
super.actionPerformed(e);
WidgetPanel.this.about();
}
});
add(b);
b=new Button(ClearButtonName);
b.addActionListener(new ActionHandler()
{
public void actionPerformed(ActionEvent e)
{
super.actionPerformed(e);
WidgetPanel.this.clearDrawCanvas();
}
});
add(b);
add(new Label(“Shape:”));
shapeChoice=new Choice();
shapeChoice.addItem(“Line”);
shapeChoice.addItem(“Rectangle”);
shapeChoice.addItem(“Oval”);
shapeChoice.addItem(“Polygon”);
shapeChoice.addItem(“Arc”);
shapeChoice.addItem(“Text”);
shapeChoice.addItem(“Image”);
add(shapeChoice);
add(new Label(“Color:”));
colorChoice=new Choice();
colorChoice.addItem(“Black”);
77
colorChoice.addItem(“Blue”);
colorChoice.addItem(“Cyan”);
colorChoice.addItem(“DarkGray”);
colorChoice.addItem(“Gray”);
colorChoice.addItem(“Green”);
colorChoice.addItem(“Light”);
colorChoice.addItem(“Magenta”);
colorChoice.addItem(“Orange”);
colorChoice.addItem(“Pink”);
colorChoice.addItem(“Red”);
colorChoice.addItem(“White”);
colorChoice.addItem(“Yellow”);
colorChoice.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
String colorStr=WidgetPanel.this.
colorChoice.getSelectedItem();
WidgetPanel.this.getParent().
setForeground(UltraColor.
stringColor(colorStr));
WidgetPanel.this.repaint();
}
});
add(colorChoice);
fillCheckbox=new Checkbox(“Fill”);
add(fillCheckbox);
threeDCheckbox=new Checkbox(“3D”);
add(threeDCheckbox);
}
public Dimension getPreferredSize()
{
78
return new Dimension(width,height);
}
public void setSize(int width,int height)
{
if(width >0)
this.width=width;
else
this.width=_WIDTH;
if(height >0)
this.height=height;
else
this.height=_HEIGHT;
}
public void clearDrawCanvas()
{
Graphics g=getParent().getGraphics();
int w=getParent().getSize().width,
h=getParent().getSize().height;
g.clearRect(0,0,w,h);
}
public void about()
{
About_Mode=true;
clearDrawCanvas();
Color fg=getParent().getForeground();
getParent().setForeground(Color.black);
Graphics g=getParent().getGraphics();
g.drawString(“JavaDraw!”,10,70);
g.drawString(“by Aaron E.Walsh”,10,80);
g.drawString(“version 1.0”,10,90);
g.drawString(“revised 7.26.97”,10,100);
79
getParent().setForeground(fg);
}
class ActionHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(About_Mode)
{
WidgetPanel.this.clearDrawCanvas();
WidgetPanel.this.About_Mode=false;
}
}
}
public void paint(Graphics g)
{
for(int yOffset=0 ; yOffset<5 ; yOffset++)
{
g.drawLine(0,
getSize().height-yOffset,
getSize().width,
getSize().height-yOffset);
}
}
public int getShape()
{
return shapeChoice.getSelectedIndex();
}
public boolean isFilled()
{
return fillCheckbox.getState();
}
80
public boolean isThreeD()
{
return threeDCheckbox.getState();
}
}
JavaDrawFrame.java
import java.awt.*;
import java.awt.event.*;
class JavaDrawFrame extends Frame
{
public JavaDrawFrame(String str)
{
super(str);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
});
}
}
JavaDraw.java
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import JavaDrawFrame;
81
import WidgetPanel;
import Shape;
public class JavaDraw extends Applet
{
boolean m_fStandAlone=false;
private WidgetPanel guiPanel=null;
private int oldX=0,oldY=0;
private Image theImage=null;
private String imagePath=”tiger1.jpg”;
private String m_foregroundColor=null;
private String m_backgroundColor=null;
private final String PARAM_forecolor=”forecolor”;
private final String PARAM_backcolor=”backcolor”;
String GetParameter(String strName,String args[])
{
if(args==null)
{
return getParameter(strName);
}
int i;
String strArg=strName + “=”;
String strValue=null;
for(i=0;i<args.length;i++)
{
if(strArg.equalsIgnoreCase
(args[i].substring(0,strArg.length())))
{
strValue=args[i].substring(strArg.length());
if(strValue.startsWith(“””))
{
strValue=strValue.substring(1);
if(strValue.endsWith(“””))
strValue=strValue.substring
Java-11
82
(0,strValue.length()-1);
}
}
}
return strValue;
}
void GetParameter(String args[])
{
String param;
param=GetParameter(PARAM_forecolor,args);
if(param!=null)
m_foregroundColor=param;
param=GetParameter(PARAM_backcolor,args);
if(param!=null)
m_backgroundColor=param;
}
public static void main(String args[])
{
JavaDrawFrame frame=new
JavaDrawFrame(“JavaDraw!”);
frame.show();
frame.setVisible(false);
frame.setSize(frame.getInsets().left+
frame.getInsets().right+400,frame.getInsets().top+
frame.getInsets().bottom+350);
JavaDraw applet_JavaDraw=new JavaDraw();
frame.add(“Center”,applet_JavaDraw);
applet_JavaDraw.m_fStandAlone=true;
applet_JavaDraw.GetParameter(args);
applet_JavaDraw.init();
frame.show();
}
83
public JavaDraw()
{
}
public String getAppletInfo()
{
return “Name:JavaDrawrn”+
“Author: Packia Nathanrn”;
}
public String[][]getParameterInfo()
{
String[][]info=
{
{ PARAM_forecolor,”String”,”Specifies default fore-
ground color of this program(must be color class variable)”},
{ PARAM_backcolor,”String”,”Specifies default
background color of this program(must be a color class variable)”},
};
return info;
}
public void init()
{
if(!m_fStandAlone)
GetParameter(null);
resize(400,350);
this.setLayout(new BorderLayout());
setBackground(Color.white);
guiPanel=new WidgetPanel();
add(“North”,guiPanel);
addMouseListener(getMouseListener());
addMouseMotionListener(getMouseMotionListener());
}
MouseListener getMouseListener()
84
{
return new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
oldX=e.getX();
oldY=e.getY();
}
};
}
MouseMotionListener getMouseMotionListener()
{
return new MouseMotionAdapter()
{
public void mouseDragged(MouseEvent e)
{
JavaDraw.this.draw(e.getX(),e.getY());
}
};
}
void draw(int x,int y)
{
Graphics g=getGraphics();
boolean fill=guiPanel.isFilled(),
threeD=guiPanel.isThreeD();
switch (guiPanel.getShape())
{
case Shape.LINE:
g.drawLine(oldX,oldY,x,y);
break;
case Shape.RECT:
if(fill)
85
{
if(threeD)
g.fill3DRect(oldX,oldY,x,y,true);
else
g.fillRect(oldX,oldY,x,y);
}else{
if (threeD)
g.draw3DRect
(oldX+1,oldY+1,x+1,y+1,true);
else
g.drawRect(oldX,oldY,x,y);
}
break;
case Shape.OVAL:
if(fill)
{
g.fillOval(oldX,oldY,x,y);
}else{
g.drawOval(oldX,oldY,x,y);
}
break;
case Shape.ARC:
if (fill)
{
g.fillArc(oldX,oldY,100,100,x,y);
}else{
g.drawArc(oldX,oldY,100,100,x,y);
}
break;
case Shape.POLY:
int xCoords[]=
{x+oldX,x+55,x+65,x+80,x+80,x+oldX};
int yCoords[]=
{y+oldY,y+38,y+55,y+30,y+75,y+oldY};
Polygon thePoly=new
86
Polygon(xCoords,yCoords,xCoords.length);
if(fill)
{
g.fillPolygon(thePoly);
}else{
g.drawPolygon(thePoly);
}
break;
case Shape.TEXT:
g.setFont(new Font
(“Courier”,Font.BOLD,y/6));
g.drawString(“JavaDraw!”,x,y);
break;
case Shape.IMAGE:
if (theImage==null)
if(m_fStandAlone)
{
theImage=Toolkit.
getDefaultToolkit().getImage(imagePath);
}else{
theImage=getImage
(getCodeBase(),imagePath);
}
int h=theImage.getHeight(this);
int w=theImage.getWidth(this);
if(fill)
{
g.drawImage
(theImage,x-(w/2),y-(h/2),
getForeground(),this);
}else{
g.drawImage
(theImage,x-(w/2),y-(h/2),this);
}
break;
87
default:
break;
}
g.dispose();
oldX=x;
oldY=y;
}
}
Shape.java
public final class Shape
{
public final static int LINE=0,
RECT=1,
OVAL=2,
POLY=3,
ARC=4,
TEXT=5,
IMAGE=6;
private Shape()
{
}
}
UltraColor.java
import java.awt.*;
public class UltraColor
{
private UltraColor()
{
}
public static Color stringColor(String colorStr)
{
88
Color theColor=null;
if(colorStr.equalsIgnoreCase(“black”))
{
theColor=Color.black;
}else if(colorStr.equalsIgnoreCase(“blue”))
{
theColor=Color.blue;
}else if(colorStr.equalsIgnoreCase(“cyan”))
{
theColor=Color.cyan;
}else if(colorStr.equalsIgnoreCase(“darkGray”))
{
theColor=Color.darkGray;
}else if(colorStr.equalsIgnoreCase(“gray”))
{
theColor=Color.gray;
}else if(colorStr.equalsIgnoreCase(“green”))
{
theColor=Color.green;
}else if(colorStr.equalsIgnoreCase(“lightGray”))
{
theColor=Color.lightGray;
}else if(colorStr.equalsIgnoreCase(“magenta”))
{
theColor=Color.magenta;
}else if(colorStr.equalsIgnoreCase(“orange”))
{
theColor=Color.orange;
}else if(colorStr.equalsIgnoreCase(“pink”))
{
theColor=Color.pink;
}else if(colorStr.equalsIgnoreCase(“red”))
{
theColor=Color.red;
89
}else if(colorStr.equalsIgnoreCase(“white”))
{
theColor=Color.white;
}else if(colorStr.equalsIgnoreCase(“yellow”))
{
theColor=Color.yellow;
}else
{
System.out.println(“No COLOR MATCH”);
}
return theColor;
}
}
ºîô¤ô¢ Shape.java âÂñ¢ file-ô¤ô¢ âù¢ù â¿îð¢ð좮¼è¢è¤ù¢ø¶
âù¢ðî¬ùè¢ è£í¢«ð£ñ¢. Þî¤ô¢ Shape âù¢Âñ¢ class à¼õ£è¢èð¢ð좴 Üî¤ô¢
LINE, RECT, OVAL, POLY, ARC, TEXT, IMAGE âù¢ø Variable-è÷¢ Define
ªêò¢òð¢ð좴 Üõø¢ø¤ô¢ õó¤¬êò£è 0,1,2, âù¢ø ñî¤ð¢¹è÷¢ ðî¤òð¢
ð좮¼è¢è¤ù¢øù. Þõø¢¬ø ï£ñ¢ WidgetPanel âù¢Âñ¢ Class-ô¢ ðòù¢ð´î¢î¤è¢
ªè£÷¢è¤ù¢«ø£ñ¢.
ܴ UltraColor.java âù¢Âñ¢ file-ô¢ âù¢ù â¿îð¢ð좮¼è¢è¤ù¢ø¶
âù¢ðî¬ùè¢ è£í¢«ð£ñ¢. Þî¤ô¢ UltraColor âù¢Âñ¢ class åù¢Á â¿îð¢ð좴
ÜîÂ÷¢ StringColor âù¢ªø£¼ method â¿îð¢ð좮¼è¢è¤ù¢ø¶. Þîù¢ Parameter
Ýè String Variable åù¢Áñ¢ return data type Ýè Color âù¢Âñ¢ class-ñ¢
ªè£´è¢èð¢ð좮¼è¢è¤ù¢ø¶.
ï£ñ¢ Þï¢î function-ù¤ù¢ Parameter-ô¢ âù¢ù Color «õí¢´ñ¢ âù¢Á
ªè£´ð¢«ð£ñ£ù£ô¢ Üï¢î Color-¬ù ªðø¢Áè¢ ªè£÷¢÷ô£ñ¢. Üî£õ¶ Java-
õ¤ô¢ èôó¢è¬÷ ¬èò£÷¢õîø¢è¢ªèù¢Á îù¤ò£è Color âù¢ªø£¼ class à÷¢÷¶.
Þï¢î Class-ù¢ object-®ø¢è¢°÷¢ ïñ袰 «î¬õò£ù èôó¤¬ù ðî¤ï¢¶ ¬õè¢
ªè£í¢´ Üõø¢¬ø «õí¢®ò Þìî¢î¤ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
Color.black, Color.blue, Color.cyan âù¢ø õ¬èò¤ô¢ èôó¢è÷¤¬ùð¢ ðòù¢ð´î¢î¤è¢
ªè£÷¢÷ô£ñ¢. Þõø¢¬ø ï£ñ¢ WidgetPanel ¹«ó£è¤ó£ñ¤ô¢ ðòù¢ð´î¢î¤è¢
ªè£÷¢Àè¤ù¢«ø£ñ¢.
ܴ WidgetPanel.java-õ¤ô¢ âù¢ù â¿îð¢ð좮¼è¢è¤ù¢ø¶ âùè¢
Java-12
90
è£í¢«ð£ñ¢. Þï¢î file-ô¢ î£ù¢ WidgetPanel âù¢ªø£¼ class
â¿îð¢ð좮¼è¢è¤ù¢ø¶. Þ¶ Panel class-ô¢ ޼ Inheritance ªêò¢òð¢
ð좮¼è¢è¤ù¢ø¶. âù«õ Þï¢î class-ø¢° object à¼õ£è¢°ñ¢ ªð£¿¶ î£ù£è«õ
ïñ袰 Panel à¼õ£è¤õ¤´è¤ù¢ø¶. Þï¢î Panel-ô¤ô¢ î£ù¢ ïñ¢º¬ìò
¹«ó£è¤ó£ñ¤ø¢°î¢ «î¬õò£ù object-è÷¢ Üî£õ¶ Label, Choice, Checkbox
ºîô£ù ܬùñ¢ ðî¤òð¢ð좮¼è¢è¤ù¢øù.Þ颰 ºîô¤ô¢ AboutButtonName
ClearButtonName âù¢Á Þóí¢´ String °è÷¢ Define ªêò¢òð¢ð좮¼è¢è¤ù¢øù.
ܴ About_mode âù¢Âñ¢ Boolean Variable à¼õ£è¢èð¢ð좴 Üî¤ô¢ False
âù¢Âñ¢ ñî¤ð¢¹ ðî¤òð¢ð좮¼è¢è¤ù¢ø¶.
ܴ ShapeChoice ñø¢Áñ¢ ColorChoice âù¢Âñ¢ Þóí¢´ Choice Class
ù¢ object-è÷¢ Define ªêò¢òð¢ð좮¼è¢è¤ù¢øù. ð¤ù¢ùó¢ fillCheckbox, threeDCheckbox,
âù¢Á Þóí¢´ Checkbox-è÷¢ define ªêò¢òð¢ð좮¼è¢è¤ù¢øù. ܴ _WIDTH,
_HEIGHT, width, height âù¢Á int variable-è÷¢ à¼õ£è¢èð¢ð좴 Üõø¢ø¤ô¢
ñî¤ð¢¹è÷¢ ðî¤òð¢ð좮¼è¢è¤ù¢øù.
Þï¢î class-ô¢ Þóí¢´ Constructor function-è÷¢ à÷¢÷ù. ºîô£õ¶
âï¢î ñî¤ð¢¹èÀñ¢ ªè£´è¢èð¢ ðìõ¤ô¢¬ôªòù¤ô¢ Þò颰è¤ù¢ø¶. Þóí¢ì£õ¶
Ýù¶ Height ñø¢Áñ¢ Width ªè£´ð¢ð¤ù¢ Üï¢î ñî¤ð¢ð¤¬ù ªè£í¢´
Þò颰è¤ù¢ø¶.
WidgetPanel Constructor function-ô¢ ºîô¤ô¢ setSize(Width, Height) âù¢ø
function ðòù¢ð´î¢îð¢ð좴÷¢÷¶. ï£ñ¢ ªè£´è¢è¤ù¢ø Width, Height ñî¤ð¢¹è÷¤ô¢
Panel Ýù¶ Set ݰñ¢. ܴ new Panel( ); âù¢Á ªè£´î¢î¤¼èè¢è¤ù¢«ø£ñ¢
Üô¢ôõ£? Üð¢ªð£¿¶î£ù¢ Panel Ýù¶ à¼õ£°ñ¢. ð¤ù¢ùó¢
SetBackground(Color.lightgray);
âù¢ø function ðòù¢ð´î¢îð¢ð좴 Üîù¢Íôñ¢ Panel-ø¢è¢° Background Color Set
ªêò¢òð¢ð좮¼è¢è¤ù¢øù. ð¤ù¢ùó¢
Button b = new Button (AboutButtonName);
.....
add(b);
âù¢Á About Button à¼õ £è¢èð¢ð좴 Üî¬ù Click ªêò¢î£ô¢ about( ) âù¢Âñ¢
function Þòé¢è «õí¢´ñ¢ âù¢Á ActionListener- ô¢ ªê£ô¢ôð¢ð좴÷¢÷¶.
Þ¬îð¢«ð£ô«õ Clear Button Âñ¢ à¼õ£è¢èð¢ð좴 Üî¬ù Click ªêò¢î£ô¢
ClearDrawCanvas âù¢ø function Þòé¢è«õí¢´ñ¢ âù¢Á ActionListener-ô¢
91
ªê£ô¢ôð¢ð좴÷¢÷¶.
ܴ Shape: âù¢Âñ¢ Caption ù¤¬ùè¢ ªè£í¢ì Label åù¢Á
à¼õ£è¢èð¢ð좴, Üî¬ùî¢ ªî£ìó¢ï¢¶ ShapeChoice âù¢Âñ¢ Choice à¼õ£è¢èð¢
ð´è¤ù¢ø¶. Þï¢î Choice-ô¢ Line, Rectangle, Oval, Polygon, Arc, Text, Image âù¢Âñ¢
Item-è÷¢ add ªêò¢òð¢ð´è¤ù¢øù.
Þ¶ð¢«ð£ô«õ ColorChoice âù¢Áñ¢ Choice object åù¢Á à¼õ£è¢èð¢ð좴
Üñ¢ õó¤¬êò£è èôó¢è÷¤ù¢ ªðòó¢è÷¢ add ªêò¢òð¢ð´è¤ù¢øù. Þï¢î
ColorChoice Ýù¶ ItemListener Event -ø¢°÷¢÷£èð¢ð좴 Þî¬ù Click ªêò¢»ñ¢
ªð£¿¶ âï¢î Color-ø¤¬ù ªîó¤¾ ªêò¢è¤ù¢«ø£«ñ£ Üîø¢° î°ï¢î color ø¤¬ù
Ultracolor âù¢ø, ï£ñ¢ ãø¢è¢èù«õ «õÁ å¼ file-ô¢ â¿î¤ ¬õî¢î¤¼ï¢î class-
ù¢ à÷¢÷¤¼ï¢¶ «õí¢®ò Color-ø¤¬ù𢠪ðø¢Áî¢î¼è¤ù¢ø¶. Üï¢î Color Ýù¶
ïñ¶ Panel-ù¢ foreground color Ýè set ªêò¢òð¢ð´è¤ù¢ø¶.
ܴ fill ñø¢Áñ¢ 3D Ýè¤ò Þóí¢´ CheckBox-è÷¢ à¼õ£è¢èð¢ð좴
add ªêò¢òð¢ð좮¼è¢è¤ù¢øù. ClearDrawCanvas âù¢ªø£¼ function â¿îð¢ð좮¼ð¢
ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Þò颰ñ¢ ªð£¿¶ ïñ¶ JavaDraw Application -ô¢
õ¬óï¢î ðìé¢è÷¢ âô¢ô£ñ¢ Üö¤è¢èð¢ð´è¤ù¢ø¶. ܬî𢠫ð£ô«õ about( )
function Þò颰ñ¢ ªð£¿¶ ïñ¶ Application-¬ùð¢ ðø¢ø¤ò îèõô¢è÷¢
ªîó¤»ñ¢ð®è¢° ªêò¢òð¢ð좴÷¢÷¶.
paint( ) function Ýù¶ âð¢ªð£¿ªîô¢ô£ñ¢ ¹«ó£è¤ó£ñ¤¬ù refresh
ªêò¢è¤ù¢«ø£«ñ£ Üð¢ªð£¿ªîô¢ô£ñ¢ Þò颰ñ¢ âù¢Á ªîó¤»ñ¢. ܬîð¢«ð£ô«õ
repaint( ) âù¢Á âð¢ªð£¿ªîô¢ô£ñ¢ ªè£´è¢è¤ù¢«ø£«ñ£ Üð¢ªð£¿¶ñ¢ Þò颰ñ¢.
ïñ¶ Panel -ø¢è¢° 覫ö ê¤ø¤ò õó¤è÷¤ô¢ îø¢ªð£¿¶ âï¢î color, foreground Ýè
Select ªêò¢òð¢ð좮¼è¢è¤ù¢ø¶ âù¢ðî¬ùê¢ ªê£ô¢õîø¢è¢è£èð¢ ðòù¢ð´ è¤ù¢ø¶.
getShape, isfilled, isThreeD Ýè¤ò function -è¬÷ Þò袰ñ¢ªð£¿¶ º¬ø«ò
Shape, fill, 3D Ýè¤ò Object-è÷¤ù¢ îø¢«ð£¬îò 郎ôò¤¬ù𢠪ðø¢Áè¢ ªè£÷¢÷
º®è¤ù¢ø¶.
Þù¤ JavaDrawFrame.java âù¢Áñ¢ file-ô¢ âù¢ù â¿îð¢ð좮¼è¢è¤ù¢ø¶
âù¢ðî¬ùè¢è£íô£ñ¢. Þî¤ô¢ JavaDrawFrame âù¢Âñ¢ Class åù¢Á â¿îð¢
ð좮¼è¢è¤ù¢ø¶. Þ¶ Frame âÂñ¢ Class-ô¢ ޼ extends ªêò¢òð¢ð좮¼ð
¢ðî£ô¢ Þï¢î Class -ø¢° object -¬ù à¼õ£è¢°ñ¢ ªð£¿¶ ïñ袰 Frame
褬ìè¢è¤ù¢ø¶. ÞîÂ÷¢ ï£ñ¢ WindowCloseing âù¢Âñ¢ Event-¬ù â¿î¤
92
ò¤¼è¢è¤ù¢«ø£ñ¢. ãªùù¤ô¢ ï£ñ¢ Close Button -ù¤¬ù Click ªêò¢»ñ¢ ªð£¿¶
Application Ýù¶ Close Ýè «õí¢´ñ¢ Üô¢ôõ£? Üîø¢è¢è£èî¢î£ù¢.
Þ¼î¤ò£è ï£ñ¢ JavaDraw.java âù¢Âñ¢ file-ô¢ âù¢ù â¿îð¢ð좮¼è¢
è¤ù¢ø¶ âù¢ðî¬ù è£í¢«ð£ñ¢. Þï¢î ¹«ó£è¤ó£«ñ ïñ¢º¬ìò project -®ù¢
ºè¢è¤òñ£ù ¹«ó£è¤ó£ñ¢ ݰñ¢. ãªùù¤ô¢ Þî¤ô¢ î£ù¢ main( ) function
Þ¼è¢è¤ù¢ø¶. ܬîð¢«ð£ô«õ init ( ) function -Âñ¢ Þ¼è¢è¤ù¢ø¶.
Þï¢î ¹«ó£è¤ó£ñ¤¬ù ï¦é¢è÷¢ Compile ªêò¢¶ Java JavaDraw âù¢Á
ªè£´î¢¶ Þò袰ñ¢ªð£¿¶ main( ) function Þò颰è¤ù¢ø¶. Applet Ýè Þò颰ñ¢
ªð£¿¶ init ( ) function Þòé¢è Ýóñ¢ð¤è¢è¤ù¢ø¶. Þê¢êñòî¢î¤ô¢ main ( ) function
Þò颰õî¤ô¢¬ô. Þð¢ªð£¿¶ main ( ) function ù¤¬ù è£Âé¢è÷¢. Üî¤ô¢
ºîô¤ô¢
JavaDrawFrame Frame=new JavaDrawFrame(‘JavaDraw!‘);
âù¢Á ªè£´è¢èð¢ð좴 å¼ Frame à¼õ£è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
Þï¢î Frame-ù¢ «ñô¢ ïñ¢º¬ìò WidgetPanel-ñ¢ ñø¢Áñ¢ õ¬ó»ñ¢ Þìºñ¢
õó«õí¢´ñ¢. âù«õ
JavaDraw applet_javadraw = new JavaDraw ( );
âù¢Á ªè£´î¢¶ ïñ¢º¬ìò JavaDraw Class -ø¢° å¼ Object-®¬ù à¼õ£è¢°
è¤ù¢«ø£ñ¢. Þõ¢õ£Á ªè£´è¢°ñ¢ ªð£¿¶ JavaDraw Class-ù¢ Ýóñ¢ðî¢î¤ô¤¼ï¢¶
ï£ñ¢ à¼õ£è¢è¤ò Variable èÀñ¢ ñø¢Áñ¢ method èÀñ¢ applet_javadraw âÂñ¢
Object -®ù¢ à÷¢ õõ¤´ñ¢. Þï¢î Object ®¬ù ïñ¢º¬ìò Frame-ù¢ Center
Align ݰñ¢ð®è¢° add ªêò¢è¤ù¢«ø£ñ¢. ܴ
applet_javadraw.init( );
frame.Show( );
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. frame.Show( ) ªêò¢õîø¢° ºù¢
init( ) function -ù¤¬ù Þò袰è¤ù¢«ø£ñ¢.
init function ô¢ Applet -¬ù resize ªêò¢¶ õ¤ì¢´ BorderLayout-®ô¢ õ¼ñ¢ð®
ܬñè¢è¤ù¢«ø£ñ¢. ܴ WidgetPanel( ) Class -ù¢ Object åù¢¬ø à¼õ£è¢è¤
Üî¬ù North ðè¢èî¢î¤ô¢ add ªêò¢è¤ù¢«ø£ñ¢.
Mouse -¬ù Click ªêò¢¶ Drag ªêò¢»ñ¢ ªð£¿¶ õ¬óò«õí¢´ñ¢.
ݬèò£ô¢
93
addMouseListener(getMouseListener ( ));
addMouseMotionListener(getMouseMotion Listener ( ));
âù¢Á Þóí¢´ MouseListener-è¬÷ Þò袰è¤ù¢«ø£ñ¢. Þ¬õ º¬ø«ò
âð¢ªð£¿ªîô¢ô£ñ¢ Mouse -¬ù Click ªêò¢è¤ù¢«ø£«ñ£ Üð¢ªð£¿ªîô¢ô£ñ¢
MousePressed âù¢Âñ¢ Event -¬ù»ñ¢, MouseReleased event ®¬ù»ñ¢
Ü«î«ð£ô¢ MouseDraged Event-¬ù»ñ¢ Þò袰è¤ù¢ø¶.
ï£ñ¢ âð¢ªð£¿ªîô¢ô£ñ¢ mouse -¬ù Click ªêò¢è¤ù¢«ø£«ñ£ Üð¢ªð£¿¶
mousePressed Event Þò颰è¤ù¢ø¶. Üî¤ô¢ ï£ñ¢ âï¢î Þìî¢î¤ô¢ Click ªêò¢è¤ù¢
«ø£ñ¢ âù¢ø ñî¤ð¢ð¤¬ù e.getX( ) ñø¢Áñ¢ e.getY( ) Ýè¤ò function-è÷¤ù¢ õ£ò¤ô£è
oldX, oldY Ýè¤ò variable-è÷¤ô¢ ðî¤ï¢¶ ¬õè¢è¤ù¢«ø£ñ¢. ܴ ï£ñ¢ mouse -
ä Drag ªêò¢»ñ¢ ªð£¿¶ mouseDragged Event Þò颰è¤ù¢ø¶ Üî¤ô¢ îø¢ªð£¿¶
mouse Ýù¶ â颰 Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù e.getX( ) ñø¢Áñ¢ e.getY( ) Ýè¤ò
function-è÷¤ù¢ Íôñ¢ ªðø¢Á
JavaDraw.this.draw (e.getX( ), e.getY( ) );
âù¢Á ï£ñ¢ â¿î¤ò¤¼è¢è¤ù¢ø function -ù¤¬ù Þò袰è¤ù¢«ø£ñ¢. Þï¢î draw
function-ô¢ î£ù¢ ï£ñ¢ ܬù à¼õé¢è¬÷»ñ¢ õ¬óõîø¢è¢°ø¤ò
¹«ó£è¤ó£ñ¤¬ù â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Draw Function ô¢ ºîô¤ô¢
Graphics g=getGraphics( );
âù¢Á ªè£´î¢¶ Graphics Class -ø¢° å¼ Object -®¬ù à¼õ£è¢è¤è¢
ªè£÷¢Àè¤ù¢«ø£ñ¢. Þï¢î Graphics Class -ô¢ î£ù¢ Line, Rectangle, Oval âù¢Á
ܬù õ¤îñ£ù ðìé¢è¬÷»ñ¢ õ¬óõîø¢°ø¤ò function -è÷¢ Þ¼è¢è¤ù¢øù.
ܴ boolean fill= guiPanel.isFilled( ), threeD= guiPanel.isThreeD( ); Ýè¤ò
Fucntion -è÷¤¬ù Þòè¢è¤, WidgetPanel-ô¢ à÷¢÷ Þóí¢´ CheckBox-è÷¢ Tick
ªêò¢òð¢ð좴÷¢÷ùõ£, Þô¢¬ôò£ âù¢ðî¬ù Üø¤è¤ù¢«ø£ñ¢. FillCheckBox
Tick ªêò¢òð¢ð좮¼ï¢î£ô¢ õ¬óè¤ù¢ø ðìé¢è÷¤ô¢ Color Ýù¶ ï¤óð¢ðð¢ð좴
õ¼ñ£Á ¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. ܬî𢠫ð£ô«õ threeDCheckBox
click ªêò¢òð¢ð좮¼ï¢î£ô¢ õ¬óòð¢ð´ñ¢ ðìé¢è÷¤ô¢ 3D Effect -è÷¢ õ¼ñ¢ð®
¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢.
switch(guiPanel.getShape()) âù¢Á switch Statement ªè£´è¢èð¢ð좮¼ð¢
ð¬îè¢ èõù¤»é¢è÷¢. ï£ñ¢ âï¢î Item î¢î¤¬ù, Shape âÂñ¢ Choice -ô¢ Select
ªêò¢î¤¼è¢è¤ù¢«ø£«ñ£ Üîø¢è¢°ø¤ò number-¬ù getShape function î¼è¤ù¢ø¶.
Üî¬ù ï£ñ¢ åõ¢ªõ£Á case Ýè êó¤ð£ó¢î¢¶ Line âù¢Á Þ¼ð¢ð¤ù¢ Line
õ¬óõîø¢°ø¤ò function -ù¤¬ù»ñ¢ Rect âù¢Á ªè£´î¢î£ô¢ Rectangle
94
õ¬óõîø¢è¢°ø¤ò ¹«ó£è¤ó£ñ¤¬ù»ñ¢ âù¢Á õó¤¬êò£è ܬù Option
è÷¤ø¢°ñ¢ ¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢ Þ颰 ðòù¢ð´î¢îð¢ð´ñ¢ function
è÷¤ô¢ oldX, oldY âù¢ð¶ ï£ñ¢ mouse -¬ù ºîô¤ô¢ â颰 Click ªêò¢«î£«ñ£
Üï¢î ñî¤ð¢¹ ݰñ¢. ñ£ø£è x, y âù¢ð¶ ï£ñ¢ îø¢ªð£¿¶ âï¢î Þìî¢î¤ô¢
Þ¼è¢è¤ù¢«ø£«ñ£ Üï¢î ñî¤ð¢¹ ݰñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
Þ¼î¤ò£è Mouse -¬ù Release ªêò¢»ñ¢ ªð£¿¶ Mouse Released function
Þò颰è¤ù¢ø¶. Þî¤ô¢ Update(getGraphics( )) âù¢ø function-¬ù ðòù¢ð´î¢î¤
ò¤¼è¢è¤ù¢«ø£ñ¢. Þ¶ repaint( ) function-¬ù «ð£ô«õ paint function-¬ù
Þò袰è¤ù¢ø¶.
95
Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 5.
Swing - Java Foundation Classes (JFC)
Þ¶õ¬ó ï£ñ¢ Abstract windowing ToolKit (awt) âÂñ¢ Package -ô¢ à÷¢÷
Class -è¬÷ð¢ ðòù¢ð´î¢î¤ ¹«ó£è¤ó£ñ¢è¬÷ â¿î¤ õî£ñ¢. Þï¢î awt
Package-ô¢ à÷¢÷ Label, TextField, Choice, Button ºîô£ù Component -è¬÷ð¢
«ð£ù¢Á Þòé¢èè¢Ã®ò, Üî¬ùè¢ è£ì¢®½ñ¢ Üöè£è¾ñ¢, ê¤øð¢ð£è¾ñ¢
Þòé¢èé¢Ã®ò, ðô ôîô¢ Component -è¬÷»ñ¢ ªè£í¢ì ðô¢«õÁ Class
è÷¤ù¢ ªî£°ð¢ð¤¬ùî¢î£ù¢ Üî£õ¶ Package ¬ùî¢î£ù¢ Java foundation Classes
(JFC) âù¢Á ܬöè¢è¤ù¢«ø£ñ¢. Þî¬ù Swing âù¢Áñ¢ õöé¢èô£ñ¢.
ê£îóíñ£è awt ò¤ô¢ TextField âù¢Á class Þ¼ð¢ð¤ù¢, Swing -ô¢ JTextField
âù¢Á class ޼袰ñ¢. Üî£õ¶ Swing Package -ô¢ à÷¢÷ ܬù class -
èÀñ¢ J âù¢ø â¿î¢î¤ô¢ Ýóñ¢ð¤è¢è¤ù¢øù.
Þù¤ swing class -è¬÷ð¢ ðòù¢ð´î¢î¤ âõ¢õ£Á ¹«ó£è¤ó£ñ¢è¬÷
à¼õ£è¢°õ¶ âùè¢ è£íô£ñ¢.
Listing 5.1
import javax.swing.*;
import java.awt.*;
public class swg1 extends JApplet
{
public void init()
{
JLabel lbl_name=new JLabel(“Name: “);
JTextField txt_name=new JTextField();
JLabel lbl_age=new JLabel(“Age: “);
JTextField txt_age=new JTextField();
GridLayout xyz=new GridLayout(2,2);
getContentPane().setLayout(xyz);
96
getContentPane().add(lbl_name);
getContentPane().add(txt_name);
getContentPane().add(lbl_age);
getContentPane().add(txt_age);
}
}
Swing è¤ô¢ à÷¢÷ component -è¬÷ð¢ ðòù¢ð´î¢î «õí¢´ñ£ù£ô¢
import javaX.swing.*;
âù¢Á ªè£´î¢¶ Swing Package-¬ù ºîô¤ô¢ Import ªêò¢¶ ªè£÷¢÷ «õí¢´ñ¢.
Þï¢î ¹«ó£è¤ó£ñ£ù¶ å¼ Applet ݰñ¢.
public class swg1 extends JApplet
âù¢Á ªè£´è¢èð¢ ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. JFC Component- è¬÷ð¢ ðòù¢
ð´î¢î¤ Applet â¿î «õí¢´ñ¢ âù¤ô¢ Þï¢î JApplet class -¬ùî¢î£ù¢ ðòù¢
ð´î¢î«õí¢´ñ¢.
init ( ) function -ù¢ à÷¢ JLabel, JTextField Ýè¤ò class è¬÷ð¢ ðòù¢ð´î¢î¤
lbl_name, txt_name, lbl_age, txt_age ºîô¤ò Object-è÷¢ à¼õ£è¢èð¢ð좮¼ð¢ð¬îè¢
èõù¤»é¢è÷¢. Þ¬õ ê£î£óíñ£è awt Package-ô¢ ï£ñ¢ ðòù¢ð´î¢î¤ò
º¬øò¤«ô«ò Þò颰ñ¢. Ýù£ô¢ Þõø¢ø¤ù¢ õ®õî¢î¤ô¢ ïô¢ô õ¤î¢î¤ò£êñ¢
ªîó¤»ñ¢.
ܴ 2 Row ñø¢Áñ¢ 2 Column Ü÷¾è¬÷è¢ ªè£í¢ì GridLayout åù¢Á
xyz âù¢Áñ¢ ªðòó¤ô¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢ø¶. ð¤ù¢ùó¢
getContentPane( ).SetLayout(xyz);
getContentPane( ).Add(lbl_name);
âù¢ø õ¬èò¤ô¢ Object-è÷¢ add ªêò¢òð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î
getContentPane( ) âù¢ð¶ Swing Component -è¬÷ ¬èò£÷¢õîø¢°è¢ªèù¢«ø
Þ¼è¢èè¢ Ã®ò å¼ container ݰñ¢. ÞîÂ÷¢ î£ù¢ ï£ñ¢ ïñ¶ ܬù
Swing object -è¬÷»ñ¢ add ªêò¢ò «õí¢´ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢
ªè£÷¢Àé¢è÷¢.
¹«ó£è¤ó£ñ¤¬ù õöè¢èñ¢ «ð£ô¢ compile ªêò¢¶ å¼ HTML file-¬ù
à¼õ£è¢è¤ appletviewer ø¤ù¤«ô£ Üô¢ô¶ Browser ø¤ù¤«ô£ Þòè¢è¤ð¢ ð£¼é¢è÷¢.
97
ðì‹ðì‹ðì‹ðì‹ðì‹ 5.1
Listing 5.2
import javax.swing.*;
import java.awt.*;
public class swg2
{
public static void main(String argv[])
{
JFrame abc=new JFrame(“Hello”);
JLabel lbl_name=new JLabel(“Name: “);
JTextField txt_name=new JTextField();
JLabel lbl_age=new JLabel(“Age: “);
JTextField txt_age=new JTextField();
GridLayout xyz=new GridLayout(2,2);
abc.getContentPane().setLayout(xyz);
abc.getContentPane().add(lbl_name);
abc.getContentPane().add(txt_name);
abc.getContentPane().add(lbl_age);
abc.getContentPane().add(txt_age);
98
abc.resize(200,100);
abc.show();
}
}
Þï¢î ¹ó£è¤ó£ñ¢ å¼ Swing Application Ýè â¿îð¢ð좴÷¢÷¶. main( )
function -ù¤ù¢ à÷¢
JFrame abc=new JFrame(‘Hello’);
âù¢Á ªè£´è¢èð¢ð좴 å¼ Swing à¼õ£è¢èð¢ð좮¼è¢è¤ù¢ø¶. ð¤ù¢ùó¢ JLabel ñø¢Áñ¢
JTextFieldÝè¤ò Class-è¬÷ð¢ ðòù¢ð´î¢î¤ lbl_name,txt_name,lbl_age,txt_ageÝè¤ò Object
-è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. Þî¬ùî¢ ªî£°î¢¶ 2,2âù¢ø Ü÷¾¬ìò GridLayout
åù¢Á xyz âù¢Âñ¢ ªðòó¤ô¢ à¼õ£è¢èð¢ ð좮¼è¢è¤ù¢ø¶. ÞÁî¤ò¤ô¢ abc âù¢Âñ¢ Frame-
ô¢ Object-è¬÷ ªð£¼î¢¶õîø¢è¢è£è
abc.getContentPane( ).SetLayout(xyz);
abc.getContentPane( ).Add(lbl_name);
âù¢ø õ¬èò¤ô¢ Object -è÷¢ add ªêò¢òð¢ð´è¤ù¢øù. ÞÁî¤ò£è Frame Ýù¶
Show ªêò¢òð¢ð´è¤ù¢ø¶. Þï¢î𢠹«ó£è¤ó£ñ¤¬ù õöè¢èñ¢ «ð£ô¢ Compile ªêò¢¶
îava swg2 âù¢Á ªè£´î¢¶ Þòè¢è¤ð¢ ð£¼é¢è÷¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 5.2
99
Listing 5.3
import javax.swing.*;
import java.awt.*;
public class swg3
{
public static void main(String arg[])
{
JFrame abc=new JFrame(“Hello”);
Icon i_one=new ImageIcon(“bullet1.gif”);
Icon i_two=new ImageIcon(“bullet2.gif”);
Icon i_three=new ImageIcon(“bullet3.gif”);
Icon i_four=new ImageIcon(“bullet4.gif”);
JButton but_one=new JButton(“One”,i_one);
JButton but_two=new JButton(“Two”,i_two);
JComboBox com_one=new JComboBox();
com_one.addItem(“Tamil Nadu”);
com_one.addItem(“Andra Pradesh”);
com_one.addItem(“Karnataka”);
com_one.addItem(“Maharastra”);
com_one.addItem(“Orisa”);
JComboBox com_two=new JComboBox();
com_two.addItem(“India”);
com_two.addItem(“Pakistan”);
ButtonGroup sex=new ButtonGroup();
JRadioButton male=new JRadioButton(“Male”,i_three);
JRadioButton female=new JRadioButton(“Female”,i_four);
sex.add(male);
sex.add(female);
100
JCheckBox chk_one=new JCheckBox(“Tamil/English”);
JCheckBox chk_two=new JCheckBox(“Computer/
Manual”);
GridLayout xyz=new GridLayout(4,2);
abc.getContentPane().setLayout(xyz);
abc.getContentPane().add(but_one);
abc.getContentPane().add(but_two);
abc.getContentPane().add(com_one);
abc.getContentPane().add(com_two);
abc.getContentPane().add(male);
abc.getContentPane().add(female);
abc.getContentPane().add(chk_one);
abc.getContentPane().add(chk_two);
abc.resize(400,200);
abc.show();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ Icon JButton, JComboBox, ButtonGroup, JRadioButton,
JCheckBox Ýè¤ò Swing Class -è÷¢ õ¤÷è¢èð¢ð좴÷¢÷ù. Þî¤ô¢ Icon Class-ù¢
Object -è¬÷ð¢ ðòù¢ð´î¢î¤ Image file -è÷¤ù¢ gif, jpg, ico, tiff ºîô£ù File
è÷¤ô¢ à÷¢÷ ðìé¢è¬÷ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢÷ô£ñ¢. Þõø¢¬ø JButton,
JCheckBox âù¢Á Swing Component ðôõø¢ø¤½ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
JButton class Ýù¶ Push Button object -è¬÷ à¼õ£è¢°õîø¢°ð¢
ðòù¢ð´è¤ù¢ø¶. JComboBox class Ýù¶ ðô¢«õÁ Item -è¬÷ îù¢ùèî
ªè£í¢ì Choice åù¢ø¤¬ù à¼õ£è¢èð¢ ðòù¢ð´è¤ù¢ø¶. awt -ò¤ô¢ Checkbox
âù¢Âñ¢ å«ó èì¢ì¬÷¬òð¢ ðòù¢ð´î¢î¤ Radio Button ñø¢Áñ¢ Checkbox
Ýè¤òõø¢¬ø à¼õ£è¢è¤«ù£ñ¢. Ýù£ô¢ Swing-ô¢ Radio Button-¬ù
à¼õ£è¢°õîø¢è¢ªèù¢Á ButtonGroup ñø¢Áñ¢ JRadioButton âù¢Á Þóí¢´ class
-è÷¢ Þ¼è¢è¤ù¢øù. Checkbox -ªèù¢Á îù¤ò£è JCheckBox âù¢ø class
Þ¼è¢è¤ù¢ø¶. Þ颰 Object -è¬÷ à¼õ£è¢°ñ¢ êñòé¢è÷¤ô¢ Üõø¢ø¤ô¢ Icon -
è¬÷ ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
101
ðì‹ðì‹ðì‹ðì‹ðì‹ 5.3
Listing 5.4
import javax.swing.*;
import java.awt.*;
public class toolbar extends JFrame
{
public static void main(String argv[])
{
toolbar abc = new toolbar();
JMenuBar mymen = new JMenuBar();
JMenu file = new JMenu(“File”);
JMenu edit = new JMenu(“Edit”);
file.add(new JMenuItem(“New”));
file.add(new JMenuItem(“Open”));
file.add(new JMenuItem(“Close”));
edit.add(new JMenuItem(“Cut”));
102
edit.add(new JMenuItem(“Copy”));
edit.add(new JMenuItem(“Paste”));
mymen.add(file);
mymen.add(edit);
abc.setJMenuBar(mymen);
JToolBar krish=new JToolBar();
Icon ione = new ImageIcon (“bullet1.jpg”);
Icon itwo = new ImageIcon (“bullet2.gif”);
Icon ithree = new ImageIcon (“bullet3.gif”);
Icon ifour = new ImageIcon (“bullet4.gif”);
JButton one=new JButton(“One”,ione);
JButton two=new JButton(“Two”,itwo);
JButton three=new JButton(“Three”,ithree);
JButton four=new JButton(“Four”,ifour);
krish.add(one);
krish.add(two);
krish.add(three);
krish.add(four);
abc.getContentPane().add(krish);
abc.setTitle(“Demo Program For Tool Bar”);
abc.resize(300,300);
abc.show();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ Swing -º¬øò¤¬òð¢ ðòù¢ð´î¢î¤ Menu ñø¢Áñ¢
Toolbar Ýè¤òõø¢¬ø à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ¬õ å¼ Frame-ô¢ î£ù¢
õ¼ñ¢ âù¢ðî£ô¢ ºîô¤ô¢ abc âù¢Âñ¢ Frame -¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢.
103
JMenubar class Ýù¶ menu bar-¬ù à¼õ£è¢°õîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶.
JMenu class -¬ùð¢ ðòù¢ð´î¢î¤ file, edit âù¢Á Þóí¢´ menu-è¬÷ à¼õ£è¢è¤
ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î menu - è÷¤ô¢ JMenuItem class-¬ùð¢ ðòù¢ð´î¢î¤ menu
èì¢ì¬÷è¬÷ menu bar à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ¼î¤ò£è menu-è¬÷
MenuBar àìÂñ¢, MenuBar -ø¤¬ù frame àìù¢ Þ¬íî¢î¤¼è¢è¤ù¢«ø£ñ¢.
Toolbar-è¬÷ à¼õ£è¢°õîø¢° JToolBar âù¢Âñ¢ èì¢ì¬÷ ðòù¢ð´
è¤ù¢ø¶. Þîù¢ Íôñ¢ Toolbar-è¬÷ à¼õ£è¢è¤ ÜîÂìù¢ ï£ñ¢ îù¤ò£è Button
Object-è¬÷ à¼õ£è¢è¤ Þ¬íè¢è «õí¢´ñ¢. Þï¢î Button è÷¤ô¢ ï£ñ¢ Icon-
è¬÷ Þ¬íî¢î¤¼è¢è¤ù¢«ø£ñ¢ âù¢ð¬îè¢ èõù¤»é¢è÷¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 5.4
Listing 5.5
import javax.swing.*;
import java.awt.*;
public class tabbed extends JFrame
{
Container d = getContentPane();
tabbed()
104
{
Icon one = new ImageIcon (“bullet1.gif”);
Icon two = new ImageIcon (“bullet2.gif”);
Icon three = new ImageIcon (“bullet3.gif”);
JTabbedPane country = new JTabbedPane();
country.addTab(“India”,one,new india());
country.addTab(“Pakistan”,two,new pakistan());
country.addTab(“China”,three,new china());
d.add(country);
}
public static void main(String argv[])
{
tabbed xyz = new tabbed();
xyz.setTitle(“Tabbed Demo”);
xyz.resize(400,400);
xyz.show();
}
}
class india extends JPanel
{
JLabel lbl_pre = new JLabel (“President : Mr. K.R.
Narayanan”);
JLabel lbl_pri = new JLabel (“Prime Minister : Mr. A.B.
Vajpayee”);
JLabel lbl_chi = new JLabel (“Chief Minister : Mr. M.
Karunanidhi”);
india()
{
setLayout(new FlowLayout(FlowLayout.LEFT,10,10));
add(lbl_pre);
add(lbl_pri);
add(lbl_chi);
105
}
}
class pakistan extends JPanel
{
JLabel lbl_pre = new JLabel (“President : General. Parvees
Musharaf”);
pakistan()
{
setLayout(new FlowLayout(FlowLayout.LEFT,10,10));
add(lbl_pre);
}
}
class china extends JPanel
{
JLabel lbl_pre = new JLabel (“President : Giang Gemin”);
china()
{
setLayout(new FlowLayout
(FlowLayout.LEFT,10,10));
add(lbl_pre);
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ Tabbed Pane âù¢ø¬öè¢èð¢ð´ñ¢ Component-è÷¢
õ¤÷è¢èð¢ð좴÷¢÷ù. Þî¬ù ªè£í¢´ ðô ðè¢èé¢è¬÷è¢ ªè£í¢ì ܬñð¢ð¤¬ù
à¼õ£è¢è Þò½ñ¢.
public class tabbed extends JFrame
âù¢Á ªè£´î¢¶ JFrameclassàìù¢inheritanceªêò¢òð¢ð좮¼ð¢ðî£ô¢ main()function-ô¢xyz
âù¢ø Object à¼õ£°ñ¢ ªð£¿«î Frame -ñ¢ à¼õ£è¤õ¤´è¤ù¢ø¶ ñø¢Áñ¢ Constructor
function-ñ¢ î£ù£è Þò颰è¤ù¢ø¶. Þï¢î Constructorfunction -ô¢ ï£ñ¢ one,two,three âù¢Á
Íù¢Á IconObject-è¬÷bullet1.gif,bullet2.gif,bullet3.gif âù¢ø file -è¬÷è¢ ªè£í¢´
106
à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. ð¤ù¢ùó¢
JTabbedPane country= new JTabbedPane( );
âù¢Á ªè£´î¢¶ country âù¢Âñ¢ Object-®¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Object-
®ô¢ ï£ñ¢ ðô¢«õÁ tab ðè¢èé¢è¬÷ Þ¬íè¢è º®»ñ¢. Üï¢î ðè¢èé¢è÷¢ å¼ Panel Ýè
Þ¼è¢è «õí¢´ñ¢. âù«õ ï£ñ¢
class india extends JPanel ...........
class pakistan extends JPanel ...........
class china extends JPanel ...........
Ýè¤ò Class è¬÷ à¼õ£è¢è¤ Üõø¢ø¤ù¢ Object -è¬÷
country.add(‘India’,one,newindia());
country.add(‘Pakistan’, two, new pakistan( ));
country.add(‘China’, three, new china( ));
âù¢Á ªè£´î¢¶ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. ¹«ó£è¤ó£ñ¤ù¢ Ýóñ¢ðî¢î¤ô¢
container d= getContentPane( )
âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î Container Object -è÷¢ getContentPane( )
âÂñ¢ Layout ®ô¢ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢Àñ¢ î¤øù¢ ð¬ìî¢î¬õ. ï£ñ¢ d.add(country)
âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ àí¢¬ñò¤ô¢ ïñ袰 getContentPane( ) -ô¢ î£ù¢ ïñ¢º¬ìò
Object -è÷¢ Align Ýè¤ù¢ø¶ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 5.5
107
Listing 5.6
import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;
public class maram extends JFrame
{
maram()
{
Container x=getContentPane();
//**********
DefaultMutableTreeNode country = new
DefaultMutableTreeNode (“Country”);
//**********
DefaultMutableTreeNode india = new
DefaultMutableTreeNode (“India”);
DefaultMutableTreeNode pakistan = new
DefaultMutableTreeNode (“Pakistan”);
DefaultMutableTreeNode america = new
DefaultMutableTreeNode (“America”);
DefaultMutableTreeNode china = new
DefaultMutableTreeNode (“China”);
//***********
DefaultMutableTreeNode tamil = new
DefaultMutableTreeNode (“Tamil”);
DefaultMutableTreeNode andra= new
DefaultMutableTreeNode (“Andra”);
DefaultMutableTreeNode karnataka= new
DefaultMutableTreeNode (“Karnataka”);
DefaultMutableTreeNode bihar= new
DefaultMutableTreeNode (“Bihar”);
108
//***********
DefaultMutableTreeNode lahore = new
DefaultMutableTreeNode (“Lahore”);
DefaultMutableTreeNode karachi = new
DefaultMutableTreeNode (“Karachi”);
DefaultMutableTreeNode sindhu = new
DefaultMutableTreeNode (“Sindhu”);
//**********
DefaultMutableTreeNode chennai = new
DefaultMutableTreeNode (“Chennai”);
DefaultMutableTreeNode madurai = new
DefaultMutableTreeNode (“Madurai”);
DefaultMutableTreeNode trichy = new
DefaultMutableTreeNode (“Trichy”);
country.add(india);
country.add(pakistan);
country.add(america);
country.add(china);
india.add(tamil);
india.add(andra);
india.add(karnataka);
india.add(bihar);
pakistan.add(lahore);
pakistan.add(karachi);
pakistan.add(bihar);
tamil.add(chennai);
tamil.add(madurai);
tamil.add(trichy);
109
JTree countrymaram = new JTree(country);
x.add(countrymaram);
}
public static void main(String argv[])
{
maram abc = new maram();
abc.setTitle(“Tree View Example”);
abc.resize(400,400);
abc.show();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ Treeview âù¢ø¬öè¢èð¢ð´ñ¢ Component-è÷¢ õ¤÷è¢èð¢
ð좴÷¢÷ù. Treeview âù¢ð¶ å¼ Item î¢î¤ø¢°÷¢ ñø¢ªø£Á Item âù¢Á
åù¢øù¢ð¤ù¢ åù¢ø£è à÷¢«÷ ªêô¢½ñ¢ð® ޼袰ñ¢ ܬñ𢹠ݰñ¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 5.6
110
Treeview -¬ùð¢ ðòù¢ð´î¢î «õí¢´ñ¢ âù¤ô¢ javax.swing.tree.* âù¢Âñ¢
Package-¬ù import ªêò¢ò «õí¢´ñ¢. ãªùù¤ô¢ JTree ñø¢Áñ¢
DefaultMutableTreeNode ºîô£ù class -è÷¢ Þï¢î Package-ô¢î£ù¢ Þ¼è¢è¤ù¢øù.
ïñ袰 JTreeView Component-®ù¢ à÷¢ âù¢ªùù¢ù Item-è÷¢ õó «õí¢´«ñ£
Üõø¢¬ø à¼õ£è¢°õîø¢è¢° DefaultmutableTreeNode èì¢ì¬÷ð¢ðòù¢
ð´è¤ù¢ø¶. Þî¬ùð¢ ðòù¢ð´î¢î¤ «î¬õò£ù Item è¬÷ à¼õ£è¢è¤òð¤ù¢
âîï¢î Item è÷¢ âîªùîù¢ à÷¢ õó«õí¢´ñ¢ âù¢ðî¬ùè¢ è¦«ö ªè£´è¢èð¢
ð좴÷¢÷¶ «ð£ô¢ ªè£´î¢¶ add ªêò¢¶ ªè£÷¢Àé¢è÷¢.
country.add(india);
country.add(pakistan);
country.add(america);
country.add(china);
india.add(tamilnadu); .....
Þ¼î¤ò£è JTree countrymaran = new JTree(country); âù¢Á ªè£´î¢î¤¼ð¢ðîù¢
Íôñ¢ âï¢î Item Treeview õ¤ù¤ô¢ ºîô¤ô¢ õó«õí¢´ñ¢ âù¢Á Ãø¤ò¤¼è¢
è¤ù¢«ø£ñ¢. Üîù¢ð® country Ýù¶ countrymaran âÂñ¢ Object-®ô¢ Top Level
Object Ýè õ¤÷颰è¤ù¢ø¶.
Listing 5.7
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.Dimension;
public class Table
{
public Table()
{
JFrame frame = new JFrame(“Table”);
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
111
System.exit(0);
}
}
);
// Take the dummy data from SwingSet.
final String[] names = {“First Name”, “Last Name”, “Favorite
Color”,“Favorite Number”, “Vegetarian”};
final Object[][] data = {
{“Mark”, “Andrews”, “Red”, new Integer(2), new Boolean(true)},
{“Tom”, “Ball”, “Blue”, new Integer(99), new Boolean(false)},
{“Alan”, “Chung”, “Green”, new Integer(838), new
Boolean(false)},
{“Jeff”, “Dinkins”, “Turquois”, new Integer(8), new
Boolean(true)},
{“Amy”, “Fowler”, “Yellow”, new Integer(3), new
Boolean(false)},
{“Brian”, “Gerhold”, “Green”, new Integer(0), new
Boolean(false)},
{“James”, “Gosling”, “Pink”, new Integer(21), new
Boolean(false)},
{“David”, “Karlton”, “Red”, new Integer(1), new Boolean(false)},
{“Dave”, “Kloba”, “Yellow”, new Integer(14), new
Boolean(false)},
{“Peter”, “Korn”, “Purple”, new Integer(12), new
Boolean(false)},
{“Phil”, “Milne”, “Purple”, new Integer(3), new Boolean(false)},
{“Dave”, “Moore”, “Green”, new Integer(88), new
Boolean(false)},
{“Hans”, “Muller”, “Maroon”, new Integer(5), new
Boolean(false)},
{“Rick”, “Levenson”, “Blue”, new Integer(2), new
Boolean(false)},
{“Tim”, “Prinzing”, “Blue”, new Integer(22), new
Boolean(false)},
{“Chester”, “Rose”, “Black”, new Integer(0), new
112
Boolean(false)},
{“Ray”, “Ryan”, “Gray”, new Integer(77), new Boolean(false)},
{“Georges”, “Saab”, “Red”, new Integer(4), new
Boolean(false)},
{“Willie”, “Walker”, “Phthalo Blue”, new Integer(4), new
Boolean(false)},
{“Kathy”, “Walrath”, “Blue”, new Integer(8), new
Boolean(false)},
{“Arnaud”, “Weber”, “Green”, new Integer(44), new
Boolean(false)}
};
// Create a model of the data.
TableModel dataModel = new AbstractTableModel()
{
// These methods always need to be implemented.
public int getColumnCount() { return names.length; }
public int getRowCount() { return data.length;}
public Object getValueAt(int row, int col) {return
data[row][col];
}
// The default implementations of these methods in
// AbstractTableModel would work, but we can refine them.
public String getColumnName(int column) {return
names[column];}
public Class getColumnClass(int col) {return
getValueAt(0,col).getClass();}
public boolean isCellEditable(int row, int col) {return (col==4);}
public void setValueAt(Object aValue, int row, int column)
{
data[row][column] = aValue;
}
113
};
// Instead of making the table display the data as it would nor-
mally with:
// JTable tableView = new JTable(dataModel);
// Add a sorter, by using the following three lines instead of the
one above.
JTable tableView = new JTable(dataModel);
JScrollPane scrollpane = new JScrollPane(tableView);
scrollpane.setPreferredSize(new Dimension(700, 300));
frame.getContentPane().add(scrollpane);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args)
{
new Table();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ table âù¢ø¬öè¢èð¢ð´ñ¢ Component õ¤÷è¢èð¢
ð좴÷¢÷¶. table -è÷¤ô¢ ïñ¢ñ£ô¢ Record-è¬÷ display ªêò¢¶ ªè£÷¢÷
º®»ñ£îô£ô¢ Þîù¢ ðòù¢ð£´ Þù¢ø¤ò¬ñò£îî£è¤ø¶.Table Component-®¬ù
ï£ñ¢ ðòù¢ð´î¢î «õí¢´ñ£ù£ô¢ ºîô¤ô¢ javax.swing.table.* âù¢ø Package
-¬ù import ªêò¢ò «õí¢´ñ¢.
Þ颰 Table âù¢ªø£¼ class â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. main function-ô¢ ޼
å¼ ¹î¤ò Object-¬ù à¼õ£è¢°è¤ù¢«ø£ñ¢.Üð¢ªð£¿¶ ïñ袰 Constructor function
Þò颰è¤ù¢ø¶. Üî¤ô¢ ï£ñ¢ ºîô¤ô¢
JFrame frame = new JFrame(‘Table’);
âù¢Á ªè£´î¢¶ å¼ frame-¬ù à¼õ£è¢è¤è¢ ªè£÷¢è¤«ø£ñ¢. ð¤ù¢ final String [
] names... âù¢Á ªè£´î¢¶ å¼ String array ò¤¬ù à¼õ£è¢è¤ Üî¤ô¢ ïñ¶
Table -ô¢ õó ޼袰ñ¢ Title-è÷¤ù¢ ªðòó¢è¬÷ð¢ ðî¤è¢è¤ù¢«ø£ñ¢. ܴ final
object [ ][ ] data ....... âù¢Á ªè£´î¢¶ å¼ array ò¤¬ù à¼õ£è¢è¤ Üî¤ô¢ ïñ¶
Table ø¢° «î¬õò£ù îèõô¢è÷¢ ܬùî»ñ¢ õó¤¬êò£è ðî¤ï¢¶
¬õî¢î¤¼è¢ è¤ù¢«ø£ñ¢. Þï¢î Object data type ¬ùð¢ ðòù¢ð´î¢î¤«ò Table
Java-15
114
ø¢°î¢ «î¬õò£ù ܬù îèõô¢è¬÷»ñ¢ ðî¤ï¢¶ ¬õè¢
ªè£÷¢÷«õí¢´ñ¢. ܴ
TabelModel datamodel=new AbstractTableModel( )
{
......
}
âù¢Á å¼ èì¢ì¬÷î¢ ªî£°ð¢¹ ªè£´è¢èð¢ ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
Þï¢î TableModel ñø¢Áñ¢ ÞîÂ÷¢ ޼袰ñ¢ ܬù function è¬÷»ñ¢
¬õî Table-ù¢ ܬù Þòè¢èé¢è¬÷»ñ¢ è좴ð¢ð´î¢¶è¤ù¢«ø£ñ¢.
JTable tableview = new JTable (datamodel);
âù¢Á ªè£´î¢¶ ï£ñ¢ tableview âù¢Âñ¢ Object-¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢.
Þï¢î table Ýù¶ datamodel âÂñ¢ Object ô¢ à÷¢÷ îèõô¢ è¬÷ð¢ ðòù¢ð´î¢î¤
ªè£÷¢è¤ù¢ø¶. ܴ
JScrollPane scrollpane = new JScrollPane(tableview);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î scrollpane Component Ýù¶
âï¢î å¼ Object-®¬ù»ñ¢ frame-ù¢ à÷¢ scroll ªêò¢»ñ¢ ð® ªêò¢õîø¢°ð¢
ðòù¢ð´è¤ù¢ø¶. Þ颰 ï£ñ¢ à¼õ£è¢èò¤¼è¢è¤ù¢ø table-¬ù scrollpane-ù¢ à÷¢
«ð£ì¢®¼è¢è¤ù¢«ø£ñ¢. Þ¼î¤ò£è Þï¢î Scroll Pane -¬ù ï£ñ¢ ïñ¢º¬ìò frame-
Â÷¢ add ªêò¢¶ õ¤´è¤ù¢«ø£ñ¢. Þ¶ Þò颰ñ¢ ªð£¿¶ 700, 300 âù¢ø ï¦÷,
Üèôî¢î¤ô¢ Þò颰ñ£Á Dimension ܬñè¢èð¢ð좴÷¢÷¶.
Classes Provided in the Swing Componenet Package
Component Description
Japplet Implements a Java applet.
JAppletBeanInfo Provides information about JApplett to
bean-based tools.
JButton Implements a button component.
JButtonBeanInfo Provides information about JButton
for bean-based tools.
JCheckBox Implements a check-box component.
JCheckBoxBeanInfo Provides information about JCheckBox
for bean-based tools.
JCheckBoxMenuItem Implements a check-box menu item.
115
JCheckBoxMenuItemBeanInfo Provides information about
JCheckBoxMenuItem for bean-based
tools.
JColorChooser Displays and manages a color-chosser
dialog.
JColorChooserBeanInfo Provides information about
JColorChooser for bean-based tools.
JComboBox Implements a combo-box component.
JComboBoxBeanInfo Provides information about
JComboBox for bean-based tools.
JComponent The mother of all Swing components.
JComponentBeanInfo Provides information about
JComponent for bean-based tools.
JDesktopIcon Displays in iconified version of a
JInternalFrame.
JDesktopIconBeanInfo Provides information about
JDesktopIcon for bean-based tools.
JDesktopPane Provides a pluggable DesktopManager
object for JInternal Frame Objects.
JDesktopPaneBean Provides information about
JDesktopPane for bean-based Info
tools.
JDialog Adds enhancements to
java.awt.Dialog.
JDialogBeanInfo Provides information about JDialog for
bean-based tools.
JFileChooser Implements a file-chooser dialog box.
JFileChooserBeanInfo Provides information about
JFileChooser for bean-based tools.
JFrame Adds enhancements to
java.awt.Frame.
JFrameBeanInfo Provides information about JFrame for
bean-based tools.
JInternalFrame Implements a frame object that can
be placed inside a JDestopPane object
to emulate a native frame window.
JInternalFrameBeanInfo Provides information about
JInternalFrame for bean-based tools.
JLabel Creates a display area for displaying
116
read-only text, an image, or both.
JLabelBeanInfo Provides information about JLabel for
bean-based tools.
JLayeredPane Can display multiple layered panes
(JInternalFrameobjects) inside a
frame.
JLayeredPaneBeanInfo Provides information about
JLayeredPane for bean-based tools.
JList Allows the user to selcect one or more
objects from a list. A separate mode,
ListModel, represents the contents of
the list.
JListBeanInfo Provides information about JList for
bean-based tools.
JMenu Implements a menu component.
JMenuBeanInfo Provides information about JMenu for
bean-based tools.
JMenuBar Implements a menu bar component.
JMenuBarBeanInfo Provides information about JMenuBar
for bean-based tools.
JMenuItem Implements a menu item component.
JMenuItemBeanInfo Provides information about
JMenuItem for bean-based tools.
JOptionPane Displays a dialog box that prompts the
user for a choice ane then passes that
choice on to the executing program.
JOptionPaneBeanInfo Provides information about
JOptionPane for bean-based tools.
JPanel Provides a generic container for
organizing other components.
JPanelBeanInfo Provides information about JPanel for
bean-based tools.
JPasswordField Displays a field in which the user can
type a passord. The text of the pass
word does not appear in the field
as it is being typed.
JPasswordFieldBeanInfo Provides information about
JPasswordField for bean-based tools.
JPopupMenu Implements a pop-up menu.
117
JPopupMenuBeanInfo Provides information about
JPopupMenu for bean-based tools.
JProgressBar Implements a progress-bar compo-
nent.
JProgressBarBeanInfo Provides information about
JProgressBar for bean-based tools.
JRadioButton Implements a radio-button control.
JRadioButtonBeanInfo Provides information about
JRadioButton for bean-based tools.
JRadioButtonMenuItem Implements a radio-button menu item.
JradioButtonMenuItemBeanInfo Provides information about
JRadioButtonMenuItem for bean-
based tools.
JRootPane Instantiates in a single step an object
made up of a glass pane, a layered
pane, an optional menu bar, and
118
a content pane.
JRootPaneBeanInfo Provides information about JRootPane
for bean-based tools.
JScrollBar Implements a scroll-bar object.
JScrollBarBeanInfo Provides information about JScrollBar
for bean-based tools.
JScrollPane Implements a scroll-pane object.
JScrollPaneBeanInfo Provides information about
JScrollPane for bean-based tools.
JSeparator Implements a menu separator object.
JSeparatorBeanInfo Provides information about JSeparator
for bean-based tools.
JSlider Implements a slider-bar object.
JSliderBeanInfo Provides information about JSlider for
bean-based tools.
JSplitPane Implements a split-pane component.
JSplitPaneBeanInfo Provides information about JSplitPane
for bean-based tools.
JTabbedPane Implements a tabbed-pane (“prop
erty-page”) component.
JTabbedPaneBeanInfo Provides information about
JTabbedPane for bean-based tools.
JTable Implements a table component.
JTableBeanInfo Provides information about JTable for
bean-based tools.
JTextArea Implements a multiline ara that can
display editable or read-only text.
JTextAreaBeanInfo Provides information about JTextArea
for bean-based tools.
JTextPane Implements a text component that can
be marked up with attributes to be represented graphically.
JTextPaneBean-Info Provides information about JTextPane
for bean-based tools.
JToggleButton Implements a two-stage button com
ponent.
JToggleButtonBeanInfo Provides information about
JToggleButton for bean-based tools.
119
JToolBar Implements a dockable, floatable tool
bar.
JToolBarBeanInfo Provides information about JToolBar
for bean-based tools.
JToolTip Implements a tool-tip component (a
component that can display a short
string, such as the name of compo
nents or a user tip).
JToolTipBeanInfo Provides information about JToolTip
for bean-based tools.
JTree A component that can display a set of
hierarchical data in a graphical outline
format.
JTreeBeanInfo Provides information about JTree for
bean-based tools.
JViewport Provides a clipped view of an arbi
trarily large component. Used by
JScrollPane.
JViewportBeanInfo Provides information about JViewport
for bean-based tools.
JWindow Adds enhancements to
java.awt.Window.
JWindowBeanInfo Provides information about JWindow
for bean-based tools.
120
Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 6.
Java Database Connectivity (JDBC)
Database âù¢ø£ô¢ âù¢ù âù¢Á àé¢èÀ袰 ïù¢ø£è ªîó¤ï¢î¤¼è¢°ñ¢.
îèõô¢è¬÷ å¼ º¬øò£ù õ®õî¢î¤ô¢ (Structure) ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢õ¶
Database ݰñ¢. Oracle, Ms-Sql Server, Ms-Access, Sybale âù¢Á ðô Database
ªñù¢ªð£¼ì¢è÷¢ ¹öè¢èî¢î¤ô¢ à÷¢÷ù. Þõø¢ø¤ô¢ ï£ñ¢ ñ¤èî¢î¤ø¬ñò£è
îèõô¢è¬÷ ¬èò£÷ º®»ñ¢. ªð£¶õ£è Þî¢î¬èò database-è¬÷ Back
end Tool âù¢Á ܬöð¢ð£ó¢è÷¢. Þõø¢ø¤ô¢ îèõô¢è¬÷ð¢ ðî¤ï¢¶ñ¢ ñø¢Áñ¢ Üõø¢ø¤ô¢
޼ ªðø¢Áè¢ ªè£÷¢Àñ£Áñ¢ ðòù¢ð´î¢¶ñ¢ ªñù¢ªð£¼ì¢è¬÷ front ent tool
âù¢Á ܬöð¢ð£ó¢è÷¢.
ªð£¶õ£è windows operating system -î¢î¤ô¢ Open Database Connectivity
(ODBC) âù¢ø º¬ø åù¢Á à÷¢÷¶. Þï¢î º¬øò¤¬ùð¢ ðòù¢ð´î¢î¤ Visual
Basic, Power Builder , Java âù¢Á âï¢î ªñù¢ªð£¼÷¤ô¢ ï¦é¢è÷¢ «õ¬ô ªêò¢î£½ñ¢
Üî¤ô¤¼ï¢¶ Oracle, Access ºîô¤ò Database-èÀìù¢ ªî£ìó¢¹ ªè£÷¢÷ º®»ñ¢.
Þï¢î ODBC º¬øò¤¬ù java-¾ìù¢ Þ¬íð¢ðîø¢è¢ªèù¢Á Þ¼è¢è¤ù¢ø
èì¢ì¬÷î¢ ªî£°ð¢¹è¬÷î¢î£ù¢ Java Database Connectivity âù¢Á
ܬöè¢è¤ù¢«ø£ñ¢.
Data Source Name
ï£ñ¢ âï¢î Database-¬ù ðòù¢ð´î¢î õ¤¼ñ¢¹è¤ù¢«ø£«ñ£ Üî¬ùð¢ðø¢ø¤ò
îèõô¢è¬÷ ºîô¤ô¢ Data Source âù¢Âñ¢ õ®õî¢î¤ô¢ «êèó¤è¢è «õí¢´ñ¢.
Þîø¢° Windows-ô¢ à÷¢÷ Control Panel ø¢° ºîô¤ô¢ ªêô¢ô «õí¢´ñ¢. Ü颰
ODBC Data Source âù¢Âñ¢ tool Ýù¶ Þîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶.
â´î¢¶è¢è£ì¢ì£è Þð¢ªð£¿¶ ï£ñ¢ Microsoft Access Database-ô¢ à÷¢÷
å¼ MDB file-ô¢ ޼袰ñ¢ Table -ô¤¬ù Java ¹«ó£è¤ó£ñ¢ õö¤ò£è JDBC
º¬øò¤¬ùð¢ ðòù¢ð´î¢î¤ ¬èò£÷¢õ¬îè¢ è£íô£ñ¢.
覫ö à÷¢÷ ðìé¢è÷¤ô¢ ªè£´è¢èð¢ð좴÷¢÷õ£Á Window-ô¢ à÷¢÷ Control
Panel-ô¢ ޼袰ñ¢ ODBC Data Source âù¢Âñ¢ tool-¬ù Þòè¢è¤ Ü颰 ïñ袰
âï¢î Database-ô¢ à÷¢÷ îèõô¢è¬÷ ¬èò£÷ «õí¢´«ñ£ Üîø¢è¢°ø¤ò Device-
¬ù ªîó¤¾ ªêò¢¶ ð¤ù¢ùó¢ Üî¤ô¢ ïñ袰 âï¢î Table «õí¢´«ñ£ Üî¬ù»ñ¢
ªîó¤¾ ªêò¢¶ å¼ DSN ªðòó¤¬ù»ñ¢ ªè£´î¢¶è¢ ªè£÷¢Àé¢è÷¢. Þ颰 ï£ñ¢
Student.mdb âù¢Âñ¢ Access file ø¢° Arshad âù¢Âñ¢ ªðòó¤¬ù ªè£´î¢¶ å¼
121
DSN-ù¤¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Student âù¢Âñ¢ mdb
file-ô¢ 覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ô¢ sno, sname, tamil, english, maths âù¢Á
field è¬÷»¬ìò table åù¢¬ø à¼õ£è¢è¤ ªè£÷¢Àé¢è÷¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 6.1
ðì‹ðì‹ðì‹ðì‹ðì‹ 6.2
122
ðì‹ðì‹ðì‹ðì‹ðì‹ 6.3
ðì‹ðì‹ðì‹ðì‹ðì‹ 6.4
123
ðì‹ðì‹ðì‹ðì‹ðì‹ 6.5
ðì‹ðì‹ðì‹ðì‹ðì‹ 6.6
124
Listing 6.1
import java.sql.*;
class jdbcdemo
{
public static void main(String ag[])
{
int sno;
String sname;
int tam,eng,maths,tot;
String url=”jdbc:odbc:arshad”;
try
{
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
// initialise
Connection cn=DriverManager.getConnection(url,””,””);
// establishing a connection
String sql=”select sno,sname,tamil,english,maths from
student”;
// forming a query
System.out.println(cn.nativeSQL(sql));
Statement s1=cn.createStatement();
// creating a statement object, whill will maintain transactions
ResultSet rs=s1.executeQuery(sql);
// executing a query and holds the data
while(rs.next()) // skips next record
{
sno=rs.getInt(1); // retriving the fields...
sname=rs.getString(2);
tam=rs.getInt(3);
eng=rs.getInt(4);
maths=rs.getInt(5);
tot=tam+eng+maths;
System.out.println(sno+” “+sname+” “+tam+”
125
“+eng+” “+maths+” “+tot);
}
cn.close();
}catch(Exception e)
{
System.out.println(“incorrect query”);
}
}
}
Þï¢î ¹«ó£è¤ó£ñ¢ Student âù¢Âñ¢ Access table-ô¢ à÷¢÷ ܬù Record
´è¬÷»ñ¢ display ªêò¢»ñ£Á â¿îð¢ð좮¼è¢è¤ù¢ø¶. ï£ñ¢ JDBC ò¤¬ù
ðòù¢ð´î¢î «õí¢´ñ¢ âù¢ø£ô¢ ºîô¤ô¢
import java.sql.*;
âù¢Âñ¢ Package-¬ù import ªêò¢¶ ªè£÷¢÷ «õí¢´ñ¢. main ( ) function -ô¢
sno, sname, tam, eng, mat, tot Ýè¤ò variable-è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù.
Þõø¢ø¤ô¢ î£ù¢ database Record-è÷¤ô¢ Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷ â´î¢¶ «ð£ì
Þ¼è¢è¤ù¢«ø£ñ¢.
ºîô¤ô¢ Þï¢î ¹«ó£è¤ó£ñ¢ º¿õ¶ñ¢ try { } catch âù¢Âñ¢ exception-
è¬÷ èí¢´ ð¤®è¢°ñ¢ Loop Â÷¢ â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
ªð£¶õ£è try { } Catch -ù¢ à÷¢ ¹«ó£è¤ó£ñ¢ â¿¶ñ¢ªð£¿¶ ¹«ó£è¤ó£ñ¤ù¢
Þòè¢èî¢î¤ô¢ ãî£õ¶ error-è÷¢ ޼袰ñ¢ ðì¢êî¢î¤ô¢ exception âù¢ù
âù¢ðî¬ùè¢ ªè£í¢´ îõÁè¬÷ î¢î¤è¢ ªè£÷¢÷ Þò½ñ¢. Þï¢î
¹«ó£è¤ó£ñ¤¬ù ªð£¼î¢îõ¬óò¤ô¢ ܶ Þò颰ñ¢ªð£¿¶ âù¢ù îõÁ
ïìï¢î£½ñ¢ Incorrect query âù¢Á õ¼ñ¢ð® â¿îð¢ð좮¼è¢è¤ù¢ø¶.
Class.for.name(‘Sun.jdbc.odbc.jdbc.ODBC Driver’);
âù¢Á ï£ñ¢ ºîô¤ô¢ ܬù JDBC ¹«ó£è¤ó£ñ¤é¢°è÷¤½ñ¢ ªè£´è¢è
«õí¢´ñ¢. ܴ âï¢î Database àìù¢ Þ¬íè¢è «õí¢´ñ¢ âù¢Á ªê£ô¢õ
îø¢è¢è£è Connection âÂñ¢ class-ù¢ Object åù¢¬ø DSN ªðòó¤ù¢ ¶¬íè¢
ªè£í¢´ à¼õ£è¢è «õí¢´ñ¢. âù«õ î£ù¢
Connection n=DriverManager.getConnection(url,‘’,’’);
âù¢Á à¼õ£è¢èð¢ð좴÷¢÷¶. ܴ ï£ñ¢ record -è¬÷ Table -ô¢ ޼
â´ð¢ðîø¢è¢è£è å¼ SQL query-ò¤¬ù â¿î «õí¢´ñ.¢Üî¬ù ï£ñ¢ å¼
126
variable-ô¢ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢÷ô£ñ¢. âù«õ î£ù¢
String sql=”select sno, sname, tamil, english, maths from Student”;
âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î query ò¤¬ù Þò袰õîø¢è¢è£è ºîô¤ô¢
ï£ñ¢ Statement âù¢Âñ¢ Class -ù¢ Object-ä à¼õ£è¢è «õí¢´ñ¢. âù«õ î£ù¢
Statement sl = cn.createStatement( );
âù¢Á à¼õ£è¢è¤ò¤Áè¢è¤ù¢«ø£ñ¢. Þîù¢ ªð£¼÷¢ cn âù¢Âñ¢ Connection Class
Object -®ô¢ ï£ñ¢ ªè£´è¢èð¢«ð£°ñ¢ èì¢ì¬÷, Þò颰ñ¢ «õí¢´ñ¢ âù¢ø
ªð£¼÷¢ ݰñ¢. ܴ
ResultSet rs = sl.executeQuery(Sql);
âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î executeQuery èì¢ì¬÷î£ù¢
ïñ¢º¬ìò query ò¤¬ù Þòè¢è¤ database-ô¢ à÷¢÷ record-è¬÷ â´î¢¶ Resultset
âù¢Âñ¢ class -ù¢ Object Ýù¶ rs -ô¢ «ð£´è¤ù¢ø¶. Þð¢ªð£¿¶ rs âù¢Âñ¢
Object-®ô¢ Student table-ô¢ à÷¢÷ ܬù record-èÀñ¢ Þ¼è¢è¤ù¢øù. Record
Pointer Ýù¶ ºîô¢ Record -®ô¢ Þ¼è¢è¤ù¢ø¶. åõ¢ªõ£¼ record Ýè end of
file õ¼ñ÷¾ñ¢ display ªêò¢õîø¢°
while(rs.next( ))
âù¢Âñ¢ Loop Þòè¢èð¢ð좮¼è¢è¤ù¢ø¶. Þîù¢ à÷¢ åõ¢ªõ£¼ record Ýè
Move ݰñ¢ ªð£¿¶ Üï¢îï¢î record -è÷¤ô¢ à÷¢÷ field -è÷¤ô¢ integer data type
à÷¢÷õø¢ø¤ô¢ Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷𢠪ð¼õîø¢° getInt( ) âÂñ¢ function
Âñ¢ String data type-ô¢ à÷¢÷ ñî¤ð¢¹è¬÷ ªð¼õîø¢° getString( ) âù¢ùñ¢
function -Âñ¢ ðòù¢ð´î¢îð¢ ð좮¼è¢è¤ù¢ø¶. Þõø¢ø¤ô¢ ªè£´è¢èð¢ð좴÷¢÷
1,2,3, âù¢Âñ¢ âí¢è÷¢ table -è÷¤ô¢ à÷¢÷ field è÷¤ù¢ õó¤¬êò¤¬ùè¢
°ø¤è¢è¤ù¢øù.
127
ðì‹ðì‹ðì‹ðì‹ðì‹ 6.7
Listing 6.2
import java.sql.*;
class jdbcstore
{
public static void main(String argv[])
{
String url=”jdbc:odbc:arshad”;
try
{
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection connection=
DriverManager.getConnection(url,””,””);
String sql=”insert into student values
(106,’Hameetha’,87,72,64)”;
// String sql=”delete from student”;
// String sql=”update student set sname=’Simran’ where sno=106"
128
System.out.println(“native form: “ +
connection.nativeSQL(sql));
Statement statement=
connection.createStatement();
statement.executeUpdate(sql);
}catch (Exception ex)
{
System.out.println(“A problem occured: “ + ex);
}
}
}
database-ô¢ ¹î¤ò record-è¬÷ð¢ ðî¤õîø¢è¢°ñ¢, Þ¼è¢è¤ù¢ø record-è¬÷
Delete ªêò¢õîø¢è¢°ñ¢, ãø¢ªèù«õ Þ¼è¢è¤ù¢ø record-è¬÷ update ªêò¢õîø¢°ñ¢
å«ó å¼ ¹«ó£è¤ó£ñ¤é¢ º¬øî£ù¢ ðòù¢ð´è¤ù¢ø¶. ܶ î£ù¢ Þï¢î
¹«ó£è¤ó£ñ¤ô¢ ðòù¢ð´î¢î¢ð¢ð좮¼è¢è¤ù¢ø¶.
àé¢èÀ袰 Structured Query Language (SQL) âù¢ø¬öè¢èð¢ð´ñ¢ ªñ£ö¤
ªîó¤ï¢î¤¼ï¢î£ô¢ ñ좴«ñ JDBC ¹«ó£è¤ó£ñ¢è¬÷ ðòù¢ð´î¢¶õ¶ â÷¤î£è
޼袰ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ãªùù¤ô¢ select, insert, update,
delete ºîô£ù èì¢ì¬÷è÷¢ Oracle, Access âù¢Á ܬù database è÷¤½ñ¢
å«ó ñ£î¤ó¤ò£è«õ Þò颰è¤ù¢øù. Üõø¢¬øî¢î£ù¢ ï£ñ¢ Þ颰ñ¢ ðòù¢ð´î¢î¤
ò¤¼è¢è¤ù¢«ø£ñ¢.
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ executeQuery âù¢Á ªè£´ð¢ðîø¢°ð¢ ðî¤ô£è
executeUpdate(sql) âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î å¼
èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î¤ insert, update, delete Ýè¤ò «õ¬ôè¬÷ê¢ ªêò¢¶
ªè£÷¢÷ô£ñ¢. Þ颰 Íù¢Á èì¢ì¬÷èÀñ¢ â´î¢¶è¢è£ì¢´è¢è£è
ªè£´è¢èð¢ð좴 Üõø¢ø¤ô¢ Þóí¢´ // âù¢Á ªè£´î¢¶ Comment
ªêò¢òð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
129
ðì‹ðì‹ðì‹ðì‹ðì‹ 6.8
¹«ó£è¤ó£ñ¢ Þòé¢è¤ º®î¢î ð¤ù¢ table-ô¢ î°ï¢î ñ£ø¢øé¢è÷¢ ï¬ìð¢
ªðø¢ø¤¼è¢è¤ù¢øùõ£ âù¢ðî¬ùê¢ «ê£î¤î¢¶ð¢ ð£ó¢î¢¶è¢ ªè£÷¢Àé¢è÷¢.
130
Üî¢î¤ò£òñ¢ 7Üî¢î¤ò£òñ¢ 7Üî¢î¤ò£òñ¢ 7Üî¢î¤ò£òñ¢ 7Üî¢î¤ò£òñ¢ 7
Thread
Multi tasking âù¢ø õ£ó¢î¢¬îò¤¬ùð¢ðø¢ø¤è¢ «è÷¢õ¤ð¢ð좮¼ð¢ð¦ó¢è÷¢.
Üî£õ¶ å«ó «ïóî¢î¤ô¢ ðô «õ¬ôè¬÷ê¢ ªêò¢»ñ¢ º¬ø. ªð£¶õ£è windows
operating system Ýù¶ Multitasking º¬øò¤ô¢î£ù¢ «õ¬ôê¢ ªêò¢è¤ù¢ø¶.
Þî¤ô¢ ï£ñ¢ å«ó «ïóî¢î¤ô¢ ðô¢«õÁ ªñù¢ªð£¼÷¢è¬÷ Þòè¢è¤è¢ ªè£÷¢÷ô£ñ¢.
Micro Processor -ø¤¬ù å«ó «ïóî¢î¤ô¢ ðô «õ¬ôè¬÷ê¢ ªêò¢»ñ¢ñ£Á
¹«ó£è¤ó£ñ¢è÷¢ â¿¶õîø¢° Java-õ¤ô¢ Thread âù¢Âñ¢ Class -ù¢ ªî£°ð¢¹
ðòù¢ð´è¤ù¢ø¶. ï¦é¢è÷¢ Visual Basic -ô¢ Timer âù¢ªø£¼ Tool -ô¤¬ùð¢
ðòù¢ð´î¢î¤ò¤¼è¢è¤ù¢ø¦ó¢è÷£? ãªùù¤ô¢ Thread-ñ¢ Üîù¢ Þòè¢èîð¢
«ð£ô«õ î£ù¢ Þò颰è¤ù¢ø¶. Üî£õ¶ Thread Ýù¶ å¼ è®è£óñ¢ ݰñ¢.
覫ö ªè£´è¢èð¢ð좴÷¢÷ ¹«ó£è¤ó£ñ¤ô¢ Thread class ¬ù ðòù¢ð´î¢î¤
å¼ Clock ¹«ó£è¤ó£ñ¢ â¿îð¢ð좴÷¢÷¶. Þï¢î𢠹«ó£è¤ó£ñ¤ù¢ Þòè¢èî¢î¤¬ù
ªî÷¤õ£è ¹ó¤ï¢¶ ªè£÷¢õ¦ó¢è«÷ò£ù£ô¢ Thread-ù¢ Þòè¢èñ¢ àé¢èÀ袰 ªî÷¤õ£è
¹ó¤»ñ¢.
Listing 7.1
import java.awt.*;
import java.applet.Applet;
import java.util.*;
public class clock extends Applet implements Runnable
{
Thread runner;
public void init()
{
}
public void start()
{
if (runner==null)
{
131
runner=new Thread(this);
runner.start();
}
}
public void stop()
{
if (runner!=null)
{
runner=null;
}
}
public void run()
{
Thread thisthread=Thread.currentThread();
while (runner==thisthread)
{
repaint();
try
{
Thread.sleep(1000);
}
catch(InterruptedException e) { }
}
}
public void paint(Graphics screen)
{
Date hello=new Date();
screen.setFont(new Font(“Serif”,
Font.BOLD+Font.ITALIC,24));
screen.drawString(hello.toString(),50,50);
}
132
}
Þ¶ å¼ applet ¹«ó£è¤ó£ñ£è â¿îð¢ð좴÷¢÷¶. Þï¢î applet Þò颰ñ¢
ªð£¿¶ ïñ袰 å¼ Clock å®è¢ªè£í¢®¼ð¢ð¶ ªîó¤»ñ¢. Thread âù¢Âñ¢
Class Ýù¶ java.util.* âù¢Âñ¢ Package -ô¢ Þ¼è¢è¤ù¢ø¶. âù«õ î£ù¢
Üï¢î Package- ¬ù ï£ñ¢ import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢. ð¤ù¢
public class clock extends Applet implements Runnable
âù¢Á class õ¬óò¤¼è¢èð¢ ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 Runnable âù¢Âñ¢
Interface Ýù¶ ðòù¢ð´î¢îð¢ð좮¼è¢è¤ù¢ø¶. Þï¢î Runnable Interface ¬ù
implement ªêò¢õîù¢ Íô«ñ ïñ袰 Thread -¬ù ïñ¶ ¹«ó£è¤ó£ñ¤ô¢
ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ º®»ñ¢. «ñ½ñ¢ start ( ), stop ( ), run ( ) Ýè¤ò event
è¬÷»ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ º®»ñ¢.
Þï¢î ¹«ó£è¤ó£ñ¢ ªè£´è¢èð¢ð좴÷¢÷ start ( ) event Ýù¶ init ( ) function
Þòé¢è¤ò ð¤ù¢ î£ù£è Þòé¢è¤õ¤´ñ¢. ð¤ù¢ùó¢ run( ) event î£ù£è Þò颰ñ¢.
¹«ó£è¤ó£ñ¢ º®»ñ¢ õ¬ó run ( ) event -®ù¢ à÷¢«÷«ò Control ï£ñ¢ ޼袰ñ£Á
ð£ó¢î¢¶è¢ ªè£÷¢÷ «õí¢´ñ¢.
âð¢ªð£¿¶ ¹«ó£è¤ó£ñ¢ º®è¤ù¢ø«î£ Üð¢ªð£¿¶ stop( ) event î£ù£è
Þò颰ñ¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.1
133
¹«ó£è¤ó£ñ¢ Ýóñ¢ðî¢î¤ô¢ Thread runner âù¢Á ªè£´î¢¶ å¼ Thread object
define ªêò¢òð¢ð좮¼è¢è¤ù¢ø¶. start event-®ô¢
runner=new Thread(this);
runner.start( );
âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ Thread à¼õ£è¢èð¢ð좴, ܶ Þòé¢è¾ñ¢
Ýóñ¢ð¤è¢è¤ù¢ø¶. runner âù¢Âñ¢ Object Ýù¶ å¼ è®è£óñ¢ «ð£ô¢
Þò颰è¤ù¢ø¶.
ܴ ¹«ó£è¤ó£ñ¤ù¢ è좴ð¢ð£´ º¿õ¶ñ¢ run event -®Â÷¢ õ
õ¤´è¤ù¢ø¶. ÞîÂ÷¢ å¼ loop ܬñè¢èð¢ð좮¼è¢è¤ù¢ø¶. ºîô¤ô¢
Thread thisthread=Thread.currentThread( );
âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ thisthread âù¢Á ¹î¤ò Thread object -®¬ù
à¼õ£è¢è¤ ÜîÂ÷¢ îø¢ªð£¿¶ Þòé¢è¤é¢è¤è¢ ªè£í¢®¼è¢°ñ¢ current Thread
Ýù runner-ô¢ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø«î£ Üî¬ù ðî¤ï¢¶ ¬õè¢è¤ù¢«ø£ñ¢.
ð¤ù¢ùó¢
while (runner==thisthread)
âù¢ø condition ªè£´î¢¶ loop åù¢ø¤Â÷¢ ªêô¢½è¤ù¢«ø£ñ¢. Üî£õ¶ runner
ñø¢Áñ¢ thisthread Ýè¤ò Þóí¢´ Object-è÷¤½ñ¢ å«ó ñî¤ð¢¹ ޼袰ñ¢ ðì¢êî¢î¤ô¢
loop-ù¢ à÷¢ ªêô¢ô «õí¢´ñ¢ âù¢ø ªð£¼÷£°ñ¢. loop -ù¢ à÷¢ Þóí¢´
èì¢ì¬÷è÷¢ ªè£´è¢èð¢ð좴÷¢÷ù. Üî¤ô¢
Thread.sleep(1000);
âù¢Á ªè£´è¢èð¢ðì¢ì®¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 1000 âù¢ð¶ MilliSecond-
®¬ùè¢ °ø¤è¢è¤ù¢ø¶. Üî£õ¶ sleep function Ýù¶ Þ颰 Micro Processor-
¬ù 1000 MilliSecond -è÷¢ Üî£õ¶ å¼ Second Ü÷õ¤ø¢° âï¢î «õ¬ô¬ò»ñ¢
ªêò¢ò£ñô¢ 祿î¢î¤ ¬õè¢è¤ù¢ø¶. Üî£õ¶ ¶£é¢è ¬õè¢è¤ù¢ø¶.
repaint() function call ªêò¢òð¢ð좮¼ð¢ðî£ô¢ paint ( ) function Þò颰è¤ù¢ø¶.
ÜîÂ÷¢ ï£ñ¢
Date hello=new Date( );
screen.setFont(new Font(‘Serif’, Font.Bold +Font.Italic, 24));
screen.drawString(hello.toString( ), 50, 50);
âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Üî£õ¶ åõ¢ªõ£ù¢Á º¬ø paint ( ) function
Þò颰ñ¢ ªð£¿¶ñ¢ Date class -ø¢è¢° object à¼õ£è¢èð¢ð´õî£ô¢ îø¢ªð£¿¶
134
èí¤ð¢ªð£ø¤ò¤ô¢ à÷¢÷ Clock-ô¢ âï¢î «ïóñ¢ Þ¼è¢è¤ù¢ø«î£ Üîù¢ ñî¤ð¢¹ hello
object-®ù¢ à÷¢ ðî¤ï¢¶ õ¤´è¤ù¢ø¶. Üî¬ù ï£ñ¢ hello.toString( ) function
õö¤ò£è Screen-ô¢ display ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
ªñ£î¢îî¢î¤ô¢ ¹«ó£è¤ó£ñ£ù¶ åõ¢ªõ£Á second èö¤î¢¶ paint( ) function-
ä Þò袰ñ¢ ªð£¿¶ ïñ袰 øò¤ô¢ Clock å®è¢ªè£í¢®¼ð¢ð¶ ªîó¤è¤ù¢ø¶.
ÞÁî¤ò¤ô¢ ï¦é¢è÷¢ âð¢ªð£¿¶ applet -®¬ù class ªêò¢è¤ù¢ø¦ó¢è«÷£ Üð¢ªð£¿¶
stop event î£ù£è Þò袰è¤ù¢ø¶. ÜîÂ÷¢ runner=new âù¢Á ªè£´î¢î¤¼ð¢ðîù¢
Íôñ¢ Thread-®ù¢ Þòè¢èñ¢ ï¤ù¢Á õ¤´è¤ù¢ø¶.
Listing7.2
import java.awt.*;
import java.applet.Applet;
import java.util.*;
public class anim extends Applet implements Runnable
{
Image theimage[]=new Image[10];
String dir=”Images/”;
String name=”T”;
String ext=”.gif”;
Thread runner;
int cnt=0;
public void init()
{
int i;
for (i=0;i<10;i++)
{
theimage[i]=getImage(getDocumentBase(),
dir+name+(i+1)+ext);
}
}
135
public void start()
{
if (runner==null)
{
runner=new Thread(this);
runner.start();
}
}
public void stop()
{
if (runner!=null)
{
runner=null;
}
}
public void run()
{
Thread thisthread=Thread.currentThread();
while (runner==thisthread)
{
repaint();
try
{
Thread.sleep(200);
}
catch(InterruptedException e) { }
}
}
public void paint(Graphics screen)
{
if (cnt==10)
{
136
cnt=0;
}
screen.drawImage(theimage[cnt++],0,0,this);
}
}
Þï¢î ¹«ó£è¤ó£ñ£ù¶ å¼ Animation õ¼ñ£Á â¿îð¢ð좮¼è¢è¤ù¢ø¶.
ï¦é¢è÷¢ cartoon -è÷¢ ñø¢Áñ¢ ðô Graphics è£ì¢ê¤è¬÷ ªî£¬ôè¢è£ì¢ê¤è÷¤ô¢
ð£ó¢î¢î¤¼ð¢ð¦ó¢è÷¢. Üõø¢¬øªòô¢ô£ñ¢ èí¤ð¢ªð£ø¤ò¤ô¢ î£ù¢ à¼õ£è¢°
è¤ù¢ø£ó¢è÷¢ âù¢ð¶ñ¢ àé¢èÀè¢°î¢ ªîó¤»ñ¢. Þ𢹫ó£è¤ó£ñ£ù¶ Animation-è÷¢
âõ¢õ£Á â¿îð¢ð´è¤ù¢øù âù¢ðîø¢° å¼ ê¤Á â´î¢¶è¢è£ì¢´ ݰñ¢.
ªð£¶õ£è Animation ªêò¢»ñ¢ ªð£¿¶ ðô Image-è÷¢ «î¬õð¢ð´è¤ù¢øù.
Üî£õ¶ åõ¢ªõ£Á Animation movement-ø¢è¢°ñ¢ âù¢Á îù¤î¢îù¤ image file-è÷¢
«õí¢´ñ¢. Üï¢î file-è¬÷ å¼ °ø¤ð¢ð¤ì¢ì è£ô Þ¬ìªõ÷¤è¢°÷¢ ê¦ó£è
Display ݰñ¢ð® ªêò¢õ«î Animation ¹«ó£è¤ó£ñ¢ ݰñ¢.
Þï¢î ¹«ó£è¤ó£ñ¤¬ù ï¦é¢è÷¢ Þòè¢è «õí¢´ñ¢ âù¤ô¢ ºîô¤ô¢ gif file-
è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢Àé¢è÷¢. Üõø¢ø¤ô¢ å¼ Animation à¼õ£õîø¢è¢è£ù
ªî£ìó¢ê¢ê¤ò£ù movement-è÷¢ ޼袰ñ¢ð® ð£ó¢î¢¶è¢ ªè£÷¢Àé¢è÷¢. â´î¢¶è¢
è£ì¢ì£è å¼ Bus ªð£ñ¢¬ñò£ù¶ Þìð¢ðè¢è ͬôò¤ô¤¼ï¢¶ õô¶ ðè¢èî¢î¤ø¢°
ïèó¢õ¶ «ð£ô ð ðìé¢è¬÷ õ¬ó ªè£÷¢Àé¢è÷¢. ï¦é¢è÷¢ Bmp, Gif, Jpg
ºîô¤ò âï¢î õ¬è Graphics File-è¬÷ «õí¢´ñ£ù½ñ¢ à¼õ£è¢è¤è¢
ªè£÷¢Àé¢è÷¢. Þ颰 T1.gif, T2.gif, T3.gif... âù¢Á ªðòó¢ õ¼ñ£Á ð file-
è¬÷ õ¬ó Þ¼è¢è¤ù¢«ø£ñ¢. ¹«ó£è¤ó£ñ¤ù¢ Ýóñ¢ðî¢î¤ô¢
Image theImage[ ] = new Image[10];
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î Image Class-ù¢ object-
è÷¤ô¢ î£ù¢ ïñ¢ñ£ô¢ Graphics file -è÷£ù Bmp, Gif, Jpg ºîô£ùõø¢ø¤ô¢
Þ¼è¢è¤ù¢ø îèõô¢è¬÷ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢÷ º®»ñ¢.
String dir = “Images/”;
String name= “T”;
String ext = “gif”;
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¬õ º¬ø«ò file Ýù¶
âï¢î Directory-ò¤ô¢ Þ¼è¢è¤ù¢ø¶, âï¢î â¿î¢î¤ù¤ô¢ ªðòó£ù¶ Ýóñ¢ð¤è¢è¤ù¢ø¶
ñø¢Áñ¢ âù¢ù extension -ä ªè£í¢®¼è¢è¤ù¢ø¶ «ð£ù¢øõø¢¬øè¢ °ø¤è¢è¤ù¢ø¶.
137
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.2 (T1.gif)
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.3 (T2.gif)
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.4 (T3.gif)
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.5 (T4.gif)
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.6 (T5.gif)
138
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.7 (T6.gif)
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.8 (T7.gif)
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.9 (T8.gif)
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.10 (T9.gif)
ðì‹ðì‹ðì‹ðì‹ðì‹ 7.11 (T10.gif)
139
init ( ) function-ô¢ for loop åù¢Á 10 º¬ø Þò颰ñ£Á ªêò¢òð¢ð좴 getImage
(...) âù¢Âñ¢ function-ù¤ù¢ Íôñ¢ åõ¢ªõ£Á Image file Ýè read ªêò¢òð¢ð좴
theImage array-ò¤Â÷¢ «ð£ìð¢ð´è¤ù¢ø¶.
ð¤ù¢ start( ) event-®ô¢ runner Thread à¼õ£è¢èð¢ð좴, Þòè¢èð¢ð´è¤ù¢ø¶.
ªêù¢ø ¹«ó£è¤ó£ñ¤ù¤¬ù𢠫ð£ô«õ run ( ) event-ñ¢ loop åù¢ø¤Â÷¢ ñ¢ð
ñ¢ð ¹«ó£è¤ó£ñ¢ º®»ñ¢ õ¬ó Þò颰è¤ù¢ø¶. åõ¢ªõ£Á 200 MilliSecond-
è÷¢ èö¤î¢¶ñ¢ paint ( ) function Þò颰è¤ù¢ø¶. paint ( ) function-ô¢ ï£ñ¢ drawImage
âù¢Âñ¢ function -ù¤¬ùð¢ ðòù¢ð´î¢î¤ theImage array ò¤ô¢ à÷¢÷ ðìé¢è¬÷
åõ¢ªõ£ù¢ø£è display ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. cnt variable åõ¢ªõ£Á º¬ø
Þò颰ñ¢ ªð£¿¶ñ¢ îù¢Â÷¢ å¼ ñî¤ð¢ð¤¬ù Ãì¢®è¢ ªè£÷¢è¤ø¶. Üî¤ô¢
âð¢ªð£¿¶ 10 âù¢ø ñî¤ð¢¹ õ¼è¤ù¢ø«î£ Üð¢ªð£¿¶ 0 âù¢ø ñî¤ð¢ð¤¬ù
initialize ªêò¢¶ ªè£÷¢è¤ù¢ø¶. âù«õ ¹«ó£è¤ó£ñ¢ Þò颰ñ¢ ªð£¿¶ 10 Image
file è÷¤ô¢ à÷¢÷ ðìé¢èÀñ¢ ñ¢ðî¢î¤¼ñ¢ð display Ýè¤è¢ ªè£í¢«ì Þ¼ð¢ðî£ô¢
Animation ïñ袰 褬ìè¢è¤ù¢ø¶. Þï¢î º¬ø animation-è÷¢ Internet- ®ô¢
ðóõô£èð¢ ðòù¢ð´î¢îð¢ð´è¤ù¢øù.
140
Üî¢î¤ò£òñ¢ 8Üî¢î¤ò£òñ¢ 8Üî¢î¤ò£òñ¢ 8Üî¢î¤ò£òñ¢ 8Üî¢î¤ò£òñ¢ 8
Files
Java õ¤ô¢ java.io.file âù¢Á å¼ package Þ¼è¢è¤ù¢ø¶. Þî¤ô¢ à÷¢÷ class
è¬÷ð¢ ðòù¢ð´î¢î¤ ïñ¢ñ£ô¢ low level file operation-è¬÷ ªêò¢¶ ªè£÷¢÷ Þò½ñ¢.
Üî£õ¶ ¹î¤ò file-è¬÷ à¼õ£è¢èõ¶ ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø file è¬÷
read ªêò¢¶ ªè£÷¢õ¶ ºîô£ù «õ¬ôè¬÷ê¢ ªêò¢¶ ªè£÷¢÷ô£ñ¢.
Listing 8.1
import java.io.File;
class FileQuery
{
public static void main(String args[])
{
String dirname=”india”;
String filename=”store.java”;
File myfile=new File(dirname,filename);
System.out.println(“File Name: “ + myfile.getName());
System.out.println(“Is it a Directory : “ +
myfile.isDirectory());
System.out.println(“It is a real file : “ + myfile.isFile());
System.out.println(“File Path: “ + myfile.getPath());
System.out.println(“Absolute File Path: “ +
myfile.getAbsolutePath());
System.out.println(“Is File Readable: “ +
myfile.canRead());
System.out.println(“Is File Writeable: “ +
myfile.canWrite());
System.out.println(“Modified on: “ +
myfile.lastModified());
System.out.println(“Size (in bytes): “ + myfile.length());
System.out.println();
141
System.out.println(“—— Directory Listing ——”);
File dir=new File(dirname);
if (dir.isDirectory()==false)
{
System.out.println(dirname + “is not a directory”);
}
else
{
System.out.println(“Directory of “ + dirname);
String d[]=dir.list();
for (int i=0; i<d.length;i++)
{
System.out.println(d[i]);
}
}
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤¬ù Þòè¢è¤ù£ô¢ ï£ñ¢ âï¢î Subdirectory-ò¤ù¢ ªðòó¤¬ùè¢
ªè£´î¢î¤¼è¢è¤ù¢«ø£«ñ£, Üî¤ô¢ à÷¢÷ ܬù file-è¬÷»ñ¢ display ªêò¢¶
ªè£´è¢°ñ¢. «ñ½ñ¢ âù¢ù file name ªè£´î¢î¤¼è¢è¤ù¢«ø£«ñ£ Üï¢î file-
ù¬ð¢ ðø¢ø¤ò º¿¬ñò£ù îèõô¢è¬÷ ªðø¢Áî¢î¼ñ¢. main ( ) function- ù¢
Ýóñ¢ðî¢î¤ô¢ ºîô¤ô¢
String dirname=“india”;
String filename=“store.java”;
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þî¤ô¢ india âù¢ð¶ Subdirectory,
åù¢ø¤ù¢ ªðòó£°ñ¢. Þîø¢°ð¢ðî¤ô¢ ï¦é¢è÷¢ â颰 Þï¢î ¹«ó£è¤ó£ñ¤¬ù Þòè¢èð¢
«ð£è¤ù¢ø¦ó¢è«÷£ Üî¤ô¢ à÷¢÷ sub directory-ò¤ù¢ ªðòó¤¬ùè¢ ªè£´î¢¶è¢
ªè£÷¢Àé¢è÷¢. ܶ «ð£ô«õ store.java âù¢ð¶ ªõ¼ñ¢ â´î¢¶è¢è£ì¢«ì. «õÁ
å¼ file ªðòó¤¬ùè¢ ªè£´î¢¶è¢ ªè£÷¢Àé¢è÷¢.
File myfile=new File(dirname, filename);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î File âù¢Âñ¢ class-ô¢
î£ù¢ File operation êñ¢ðï¢îð¢ðì¢ì ܬù function-èÀñ¢ Þ¼è¢è¤ù¢øù.
142
Þð¢ªð£¿¶ india âù¢Âñ¢ Subdirectory-ô¢ à÷¢÷ store.java âÂñ¢ file-ù¢ ܬù
îèõô¢èÀñ¢ º¿¬ñò£è myfile âù¢Âñ¢ object -ù¢ à÷¢ õõ¤ì¢ìù.
Þ颰 myfile.getName( ) âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ file-ù¢ ªðòó¢ 褬ìè¢è¤ù¢ø¶.
myfile.isDirectory( ) âù¢Á ªè£´è袰ñ¢ªð£¿¶ file âï¢î Subdirectory-ò¤ô¢ Þ¼è¢è¤ù¢ø¶
âù¢ð¶ ªîó¤»ñ¢. myfile.isFile()âù¢Á ªè£´î¢î£ô¢ ï£ñ¢ ªè£´î¢î¤¼è¢°ñ¢ ªðòó¤ô¢ Þ¼ð¢ð¶
file î£ù£ Üô¢ô¶ Þô¢¬ôò£ âù¢ðî¬ùî¢ ªîó¤ï¢¶è¢ ªè£÷¢÷ô£ñ¢. myfile.getpath()
âù¢Á ªè£´è¢°ñ¢ file-ù¢ º¿ path 褬ìè¢è¤ù¢ø¶. myfile.canRead( ) âù¢Á ªè£´è¢°ñ¢
ªð£¿¶ file -¬ù ð®è¢è º®»ñ£ Üô¢ô¶ º®ò£î âù¢ð¶ ªîó¤»ñ¢. Ü«î«ð£ô¢
myfile.canWrite()âù¢Á ªè£´è¢°ñ¢ªð£¿¶ file-ù¤ô¢ îèõô¢è¬÷ ¹î¤î£è â¿î º®»ñ£
Üô¢ô¶ º®ò£î£ âù¢ð¶ ªîó¤»ñ¢. myfile.lastModified( ); âù¢Á ªè£´è¢°ñ¢ªð£¿¶ file-
¬ù è¬ìê¤ò£è ï£ñ¢ âï¢î «îî¤ ñø¢Áñ¢ «ïóî¢î¤ô¢ ðòù¢ð´î¢î¤«ù£ñ¢ âù¢ø îèõô¢è÷¢
褬ìè¢è¤ù¢øù.
ܴ File dir=new File(dirname); âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. ï£ñ¢
ªè£´î¢î¤¼è¢°ñ¢ ªðòó¤ô¢ å¼ Subdirectory-ò¤¼ð¢ð¤ù¢ dir.isDirectory( ) function Ýù¶ true
âù¢Á ªè£´è¢°ñ¢. Üð¢ªð£¿¶ if condition- ù¤ô¢ else ð°î¤ Þò颰ñ¢. Ü颰 String d[ ] =
dir.list( ); âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þîù¢ Íôñ¢ ï£ñ¢ ªè£´î¢î Sub
directoryò¤ù¢ ܬù file-è÷¤ù¢ ªðòó¢èÀñ¢ d âù¢Âñ¢ String array ò¤ô¢ ðî¤è¤ù¢øù.
Üõø¢¬ø loop-ù¢ Íôñ¢ ï£ñ¢ display ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
ðì‹ðì‹ðì‹ðì‹ðì‹ 8.1
143
Listing 8.2
import java.io.*;
class LineByLine
{
public static void main(String args[])
throws FileNotFoundException
{
String filename=”FileQuery.java”;
FileInputStream f=new FileInputStream(filename);
LineNumberInputStream filestream=new
LineNumberInputStream(f);
try
{
int c;
System.out.print(“Line 1:”);
while ((c=filestream.read())!= -1)
{
System.out.print((char)c);
if (c==’n’)
{
System.out.print(“Line “ +
(filestream.getLineNumber()+1) + “:”);
}
}
}catch(IOException e)
{
System.out.println(“Can’t open stream!”);
}
}
}
144
Þï¢î ¹«ó£è¤ó£ñ¤ù¤ô¢ å¼ text file-ô¢ à÷¢÷ ܬù õó¤è¬÷»ñ¢ read
ªêò¢¶ display ªêò¢õîø¢°ð¢ ¹«ó£è¤ó£ñ¢ â¿îð¢ð좴÷¢÷¶.
ºîô¤ô¢ main( ) function ù¤ù¢ ªî£ìó¢ê¢ê¤ò£è throws FileNotFoundException
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þîù¢ Íôñ¢ ï£ñ¢ ªè£´è¢è¤ù¢ø
file Ýù¶ êó¤ò£è open Ýèõ¤ô¢¬ô ªòù¤ô¢ Can’t open Stream; âù¢Á error
õ¼ñ£Á ¹«ó£è¤ó£ñ¤ù¢ è¬ìê¤ò¤ô¢ exception ܬñè¢èð¢ð좮¼è¢è¤ù¢ø¶
File IntputStream f= new FileInputStream(filename);
LineNumberInputStream filestream = new LIneInputStream(f);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ class Ýù¶ å¼ file-ô¢ à÷¢÷ â¿î¢¶è¢è¬÷
read ªêò¢õîø¢è¢° àî¾è¤ù¢ø¶. ï£ñ¢ Þ颰 FileQuery.java âù¢Âñ¢ textfile-ô¢
à÷¢÷ îèõô¢è¬÷ read ªêò¢ò Þ¼è¢è¤ù¢«ø£ñ¢. ï¦é¢è÷¢ àé¢èÀ袰 «õí¢®ò
file-è÷¤ù¢ªðòó¤¬ùè¢ Þ颰 ªè£´î¢¶è¢ ªè£÷¢Àé¢è÷¢. LineNumberInput
StreamÝù¶ file-ô¢ îø¢ªð£¿¶ ï£ñ¢ âï¢î Line-ô¢ Þ¼è¢è¤ù¢«ø£ñ¢ âù¢ø
îèõ¬ô𢠪ðø¢Áî¢îóè¢Ã®ò getLineNumber( ) function Þ¼ð¢ðîù£ô¢
ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢.
while((c=filestream.read())!=-1)
âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 read( ) function Ýù¶ file-ô¢
à÷¢÷ åõ¢ªõ£Á â¿î¢î£è read ªêò¢¶ ªè£´è¢è¤ù¢ø¶. å¼ â¿î¢¶ read
ªêò¢òð¢ðì¢ì¾ìù¢ file pointer Ýù¶ Ü´î¢î â¿î¢î¤ø¢° î£ù£è ªêù¢Á õ¤´ñ¢.
âð¢ªð£¿¶ end of file-ø¢è¢° õ¼è¤ù¢«ø£«ñ£ Üð¢ªð£¿¶ -1 âù¢ø ñî¤ð¢ð¤¬ùð¢
ªðÁ«õ£ñ¢. Üð¢ªð£¿¶ loop-¬ù õ¤ì¢´ ªõ÷¤ò¤ô¢ õ õ¤´«õ£ñ¢. loop-ù¢
à÷¢ System.out.print ((char)c); âù¢Á ªè£´ð¢ðîù¢Íôñ¢ åõ¢ªõ£Á â¿î¢î£è
display Ýè¤ù¢ø¶.
Listing 8.3
import java.io.*;
class copycharacters
{
public static void main(String args[])
{
File infile=new File(“FileQuery.java”);
File outfile=new File(“output.dat”);
FileReader ins=null;
145
FileWriter outs=null;
try
{
ins=new FileReader(infile);
outs=new FileWriter(outfile);
int ch;
while ((ch=ins.read())!=-1)
{
outs.write(ch);
}
}
catch(IOException e)
{
System.out.println(e);
System.exit(-1);
}
finally
{
try
{
ins.close();
outs.close();
}
catch(IOException e) {}
}
}
}
Þï¢î ¹«ó£è¤ó£ñ£ù¶ ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø å¼ Text File-ô¢ à÷¢÷
îèõô¢è¬÷ read ªêò¢¶ ¹î¤î£è å¼ file-¬ù à¼õ£è¢è¤ ÜîÂ÷¢ copy
ªêò¢»ñ¢ð®è¢° â¿îð¢ð좮¼è¢è¤ù¢ø¶.
File infile=new File(“FileQuery.java”);
File outfile=new File(“Output.dat”);
Þ颰 FileQuery.java âù¢Âñ¢ file-ô¤ô¢ à÷¢÷ îèõô¢è÷¢ read ªêò¢òð¢ð좴
output.dat âù¢Âñ¢ ¹î¤ò file à¼õ£è¢èð¢ð좴 ÜîÂ÷¢ ðî¤òð¢ðì Þ¼è¢è¤ù¢ø¶.
146
âù«õ FileReader ñø¢Áñ¢ FileWriter Ýè¤ò Class-è÷¤ù¢ object-è÷¢ ins, outs âù¢Á
à¼õ£è¢èð¢ð좴 Þ¼è¢è¤ù¢øù.
while((ch=ins.read( ))!=-1)
âù¢Á loop ܬñè¢èð¢ð좮¼è¢è¤ù¢ø¶. Þîù¢ Íôñ¢ end of file õ¼ñ¢ õ¬ó
åõ¢ªõ£Á â¿î¢îè¢è÷£è read ªêò¢òð¢ð좴 outs.write(ch); âù¢ø function
àð«ò£è¤ð¢ð좴 åõ¢ªõ£Á â¿î¢î£è output.dat âÂñ¢ file -ô¢ â¿îð¢ð´è¤ù¢ø¶.
finally âù¢ø function åù¢Á â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶
Java õ¤ô¢ Þ¼è¢è¤ù¢ø destructor function ݰñ¢. ¹«ó£è¤ó£ñ¢ º®»ñ¢ ªð£¿¶
î£ù£è Þò颰ñ¢. ÞîÂñ¢ ins.close(); outs.close(); Ýè¤ò file-è÷¢ Close ªêò¢òð¢
ð좮¼è¢è¤ù¢øù.
147
Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 9.
Calander - ¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢
Þï¢î Üî¢î¤ò£òî¢î¤ô¢ Calender ¹«ó£è¤ó£ñ¢ åù¢Á õ¤÷è¢èð¢ð좴÷¢÷¶. Þî¬ù
Üø¤ï¢¶ ªè£÷¢õîù¢ Íôñ¢ àé¢è÷£ô¢ ²ôðñ£è âî¢î¬èò ¹«ó£è¤ó£ñ¢è¬÷»ñ¢
Java -õ¤ô¢ â¿î º®»ñ¢. Þï¢î ¹«ó£è¤ó£ñ¢ å¼ Applet ݰñ¢. Þî¤ô¢ GridBagLayout
ðòù¢ð´î¢îð¢ ð좮¼è¢è¤ù¢ø¶. l_month, c_month, d_year, txt_year, up, down âù¢Á
ÝÁ Object è¬÷ õó¤¬êò£è å«ó row õ¤ù¤ô¢ align ªêò¢õîø¢° GridbagLayout
ðòù¢ð´î¢îð¢ð좮¼è¢è¤ù¢ø¶.
ðì‹ðì‹ðì‹ðì‹ðì‹ 9.1
Listing 9.1
import java.awt.*;
import java.applet.Applet;
import java.util.*;
public class calender extends Applet
{
Date mydate;
148
GridBagLayout gl=new GridBagLayout();
GridBagConstraints gc=new GridBagConstraints();
void assign (GridBagConstraints abc,int gx,int gy,int gw,int gh,int
wx,int wy,int fi,int ga)
{
abc.gridx=gx;
abc.gridy=gy;
abc.gridwidth=gw;
abc.gridheight=gh;
abc.weightx=wx;
abc.weighty=wy;
abc.fill=fi;
abc.anchor=ga;
}
Choice c_month=new Choice();
Label l_month=new Label(“Month”);
Label l_year=new Label(“year”);
TextField txt_year=new TextField(4);
String[] a_month={“January”,”February”,”March”,”April”,
”May”,”June”,”July”,”August”,“September”,”October”,”November”,”December”};
String[] a_days={“Sun”,”Mon”,”Tue”,”Wed”,”Thur”,
”Fri”,”Sat”};
String[] a_dates={“1”,”2",”3",”4",”5",”6",”7",”8",”9",”10",
“11”,”12",”13",”14",”15",”16",”17",”18",”19",”20",“21”,”22",”23",
”24",”25",”26",”27",”28",”29",”30",”31"};
int[] x_row={100,150,200,250,300,350,400};
int[] x_col={100,150,200,250,300,350,400};
Button up,down;
int my_count,my_month,my_year,my_day,txin;
public void init()
{
mydate=new Date();
for(int i=0;i<a_month.length;i++)
{
149
c_month.addItem(a_month[i]);
}
up=new Button(“>”);
down=new Button(“<“);
setLayout(gl);
assign(gc,0,0,1,1,100,100,GridBagConstraints.NONE,
GridBagConstraints.NORTHEAST);
gl.setConstraints(l_month,gc);
add(l_month);
assign(gc,1,0,1,1,100,100,GridBagConstraints.NONE,
GridBagConstraints.NORTHEAST);
gl.setConstraints(c_month,gc);
add(c_month);
assign(gc,2,0,1,1,100,100,GridBagConstraints.NONE,
GridBagConstraints.NORTHEAST);
gl.setConstraints(l_year,gc);
add(l_year);
assign(gc,4,0,1,1,100,100,GridBagConstraints.NONE,
GridBagConstraints.NORTHEAST);
gl.setConstraints(txt_year,gc);
add(txt_year);
int year=mydate.getYear()+1900;
txt_year.setText(“”+year);
txt_year.setEditable(false);
assign(gc,5,0,1,1,100,100,GridBagConstraints.NONE,
GridBagConstraints.NORTHEAST);
gl.setConstraints(up,gc);
150
add(up);
assign(gc,3,0,1,1,100,100,GridBagConstraints.NONE,
GridBagConstraints.NORTHEAST);
gl.setConstraints(down,gc);
add(down);
c_month.select(a_month[mydate.getMonth()]);
my_month=mydate.getMonth();
if(my_month==0)
my_count=31;
else
if(my_month==1)
{
int ef=Integer.parseInt(txt_year.getText());
if(ef%4==0)
my_count=29;
else
my_count=28;
}
else if(my_month==2)
my_count=31;
else if(my_month==3)
my_count=30;
else if(my_month==4)
my_count=31;
else if(my_month==5)
my_count=30;
else if(my_month==6)
my_count=31;
else if(my_month==7)
my_count=31;
else if(my_month==8)
my_count=30;
151
else if(my_month==9)
my_count=31;
else if(my_month==10)
my_count=30;
else if(my_month==11)
my_count=31;
repaint();
}
public void paint(Graphics g)
{
my_day=1;
int ab=Integer.parseInt(txt_year.getText());
my_year=ab-1900;
mydate.setDate(my_day);
mydate.setYear(my_year);
mydate.setMonth(my_month);
for(int i=0;i<a_days.length;i++)
{
g.drawString(a_days[i],x_col[i],75);
}
int x=mydate.getDay();
int y=0;
for(int j=0;j<my_count;j++)
{
g.drawString(a_dates[j],x_col[x],x_row[y]);
x++;
if (x>6)
{
y++;
x=0;
}
}
}
152
public boolean action(Event evt,Object arg)
{
if(evt.target instanceof Choice)
{
String lab=(String)arg;
if (lab==”January”)
{
my_month=0;
my_count=31;
setBackground(Color.red);
}
else
if(lab==”February”)
{
intbc=Integer.parseInt(txt_year.getText());
if(bc%4==0)
{
my_month=1;
my_count=29;
}
else
{
my_month=1;
my_count=28;
setBackground(Color.pink);
}
}
else
if(lab==”March”)
{
my_month=2;
my_count=31;
setBackground(Color.cyan);
}Java-19
153
else
if(lab==”April”)
{
my_month=3;
my_count=30;
setBackground(Color.yellow);
}
else if(lab==”may”)
{
my_month=4;
my_count=31;
setBackground(Color.green);
}
else
if(lab==”June”)
{
my_month=5;
my_count=30;
setBackground(Color.red);
}
else
if(lab==”July”)
{
my_month=6;
my_count=31;
setBackground(Color.blue);
}
else
if(lab==”August”)
{
my_month=7;
my_count=31;
}
else
if(lab==”September”)
154
{
my_month=8;
my_count=30;
}
else
if(lab==”October”)
{
my_month=9;
my_count=31;
}
else
if(lab==”November”)
{
my_month=10;
my_count=30;
}
else
if(lab==”December”)
{
my_month=11;
my_count=31;
}
repaint();
return true;
}
else
if(evt.target.equals(up))
{
txin=Integer.parseInt(txt_year.getText());
txin++;
txt_year.setText(“”+txin);
if(txin%4==0)
{
if(my_month==1)
my_count=29;
155
}
else
{
if(my_month==1)
my_count=28;
}
repaint();
return true;
}
else if(evt.target.equals(down))
{
txin=Integer.parseInt(txt_year.getText());
txin—;
txt_year.setText(““+txin);
if(txin%4==0)
{
if(my_month==1)
my_count=29;
}
else
{
if(my_month==1)
my_count=28;
}
repaint();
return true;
}
else return true;
}
}
¹«ó£è¤ó£ñ¤ù¢ Ýóñ¢ðî¢î¤ô¢ a_month, a_dates, x_row, x_col âù¢Á array-è÷¢
à÷¢÷ù. Þõø¢ø¤ô¢ a_month âù¢ø array-ò¤ô¢ January, February, March âù¢Á
ñ£îé¢è÷¤ù¢ ªðòó¢è÷¢ ðî¤òð¢ð좮¼è¢è¤ù¢øù. a_days âù¢Âñ¢ array ò¤ô¢ sun, Mon,
tue, âù¢Á ï£÷¢è÷¤ù¢ ªðòó¢è¬÷ ðî¤òð¢ð좮¼è¢è¤ù¢øù. a_dates âù¢Âñ¢ array
156
ò¤ô¢ 1,2,3,..... âù¢Á ï£ì¢è÷¤ù¢ ªðòó¢è¬÷ ðî¤òð¢ð좮¼è¢è¤ù¢øù. x_row ñø¢Áñ¢
x_col ºîô¤ò array ò¤ô¢ ïñ¢º¬ìò ï£ì¢è÷¢ ñø¢Áñ¢ «îî¤è÷¢ âîï¢î Þìé¢è÷¤ô¢
õó«õí¢´ñ¢ âù¢Á °ø¤ð¢ðî£è x ñø¢Áñ¢ y coordinate ñî¤ð¢¹è÷¢
ªè£´è¢èð¢ð좴÷¢÷ù. Þï¢î ¹«ó£è¤ó£ñ¤ù¢ àò¤ó¢ï£®«ò Date class-ô¢ î£ù¢
Þ¼è¢è¤ù¢ø¶.
mydate=new Date ( );
âù¢Á ªè£´î¢¶ mydate âù¢ø ªðòó¤ô¢ å¼ Date object-®¬ù à¼õ£è¢è¤è¢
ªè£÷¢Àè¤ù¢«ø££ñ¢. ªð£¶õ£è Date object à¼õ£°ñ¢ ªð£¿¶ Üî¤ô¢ îø¢ªð£¿¶
System-î¢î¤ô¢ âù¢ù date Þ¼è¢è¤ù¢ø«î£ Üï¢î ñî¤ð¢¹ õ ðî¤ï¢¶ õ¤´ñ¢.
Date class-ô¢ Þ¼è¢è¤ù¢ø getDate( ) function Íôñ¢ âù¢ù ï£÷¢ îø¢ªð£¿¶
object-®ô¢ Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù ªîó¤ï¢¶ ªè£÷¢÷ Þò½ñ¢. ܶ«ð£ô¢ getMonth()
âù¢ø function Íôñ¢ object-®ù¤ô¢ îø¢ªð£¿¶ âù¢ù ñ£îñ¢ Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù
Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢. 0 õ¤ô¤¼ï¢¶ ñ£îé¢è÷¢ èíè¢è¤ìð¢ð´è¤ù¢øù. Üî£õ¶ 0
âù¢ø££ô¢ January, 1âù¢ø£ô¢ February âù¢ø õ¬èò¤ô¢ ޼袰ñ¢. getYear() function
Íôñ¢ object-®ô¢ Þ¼è¢è¤ù¢ø õ¼ìî¢î¤ù¢ ñî¤ð¢ð¤¬ù𢠪ðø¢Áè¢ ªè£÷¢÷ô£ñ¢.
Þ颰 2002 âù¢ø õ¼ìñ¢ Þ¼ð¢ð¤ù¢ 102 âù¢ø ñî¤ð¢¹ î£ù¢ õ¼ñ¢. Üî£õ¶ 1900
âù¢ø õ¼ìî¢î¤ô¤¼ï¢¶ èí袪è´î¢¶è¢ ªè£÷¢÷ð´è¤ù¢ø¶ âù¢Á ªð£¼÷¢. getDay()
âù¢ø function ¬ùð¢ ðòù¢ð´î¢î¤ object-®ô¢ Þ¼è¢è¤ù¢ø «îî¤ò£ù¶ âï¢î è¤ö¬ñò¤ô¢
õ¼è¤ù¢ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢. ë£ò¤ø¢Áè¢è¤ö¬ñ âù¢ø£ô¢ 0
âù¢Á õ¼ñ¢. î¤é¢è÷¢ è¤ö¬ñªòù¢ø£ô¢ 1 âù¢ø õ¬èò¤ô¢ ñî¤ð¢¹è÷¢ õ¼ñ¢
âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
init( ) function-ô¢ ºîô¤ô¢ Date object-®¬ù à¼õ£è¢è¤òð¢ ð¤ù¢¹ for loop
åù¢ø¤¬ù ܬñ Üîù¢ Íôñ¢ c_month âù¢Âñ¢ Choice -ô¢ a_month âù¢Âñ¢
array -ò¤ô¢ Þ¼è¢è¤ù¢ø ñ£îé¢è÷¤ù¢ ªðòó¢è¬÷ add ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
ܴ up, down âù¢Á Þóí¢´ push Button -è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢è¤ù¢«ø£ñ¢.
¹«ó£è¤ó£ñ¤ù¢ Ýóñ¢ðî¢î¤ô¢ gl âù¢ø ªðòó¤ô¢ GridBagLayout åù¢ø¤¬ù»ñ¢, gc
âù¢ø ªðòó¤ô¢ GridBagConstraint åù¢ø¤¬ù»ñ¢ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢ Üô¢ôõ£?
Üõø¢¬øè¢ ªè£í¢´ assign âù¢Á ï£ñ¢ â¿î¤ò¤¼è¢°ñ¢ function õö¤ò£è åõ¢ªõ£Á
object Ýè ªè£´î¢¶ add ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
157
object -è÷¢ ܬùî»ñ¢ add ªêò¢îð¤ø° îø¢ªð£¿¶ mydate object-®ù¢
year- ô¢ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø«î£ ÜîÂìù¢ 1900 âù¢ø ñî¤ð¢ð¤¬ùè¢ Ã좮
àí¢¬ñò£ù «îî¤ò£ù txt_year âù¢Âñ¢ object-®ù¤ô¢ display ªêò¢¶
ªè£÷¢è¤ù¢«ø£ñ¢.
ܴ mydate.getMonth ( ) âù¢ø function -ù¤¬ùð¢ ðòù¢ð´î¢î¤ object-®ô¢
îø¢ªð£¿¶ âù¢ù ñ£îñ¢ Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù èí¢´ð¤®î¢¶ Üîù¢ð®
åõ¢ªõ£¼ ñ£îî¢î¤ø¢è¢°ñ¢ âî¢î¬ù ï£÷¢è÷¢ âù¢Á õó¤¬êò£è if condition Íôñ¢
assign ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. Þ¼î¤ò¤ô¢ repaint( ) âù¢Á ªè£´è¢°ñ¢ªð£¿¶ paint
function Þò颰è¤ù¢ø¶.
paint( ) function-ù¤ô¢ ºîô¤ô¢ my_day=1; âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢
èõù¤»é¢è÷¢. Üî£õ¶ ï£ñ¢ âï¢î õ¼ìî¢î¤Â¬ìò ñø¢Áñ¢ âï¢î °ø¤ð¢ð¤ì¢ì ñ£îî¢î¤ù¢
Calendar -ø¤¬ù display ªêò¢ò «õí¢´ñ¢ âù¢Á 郎ùè¢è¤ù¢«ø£«ñ£ Üï¢î ñ£îî¢î¤ù¢
ºîô¢ «îî¤ò£ù¶ âï¢î è¤ö¬ñò¤ô¢ Ýóñ¢ðñ£è¤ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢÷
«õí¢´ñ¢. âù«õ ï£ñ£è«õ my_day âù¢Âñ¢ Variable, âù¢ø ñî¤ð¢ð¤¬ù ð
ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. my_month, my_year Ýè¤ò variable-è÷¤ø¢è¢° c_month ñø¢Áñ¢
txt_year Ýè¤ò object-è÷¤ô¢ îø¢ªð£¿¶ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø«î£ Üî¬ùð¢
ªðø¢Áè¢ ªè£÷¢Àè¤ù¢«ø£ñ¢. Þï¢î my_day, my_month, my_year Ýè¤ò variable-è÷¤ô¢
޼袰ñ¢ Date ñî¤ð¢¹è¬÷ º¬ø«ò SetDate( ), setMonth( ), SetYear( ) Ýè¤ò Date
class -ù¢ method function õö¤ò£è ðªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. îø¢ªð£¿¶ ð
ªêò¢òð¢ðì¢ì, ñ£îî¢î¤ù¢ ºîô¢ «îî¤ò£ù¶ âï¢î è¤ö¬ñò¤ô¢ õ¼è¤ù¢ø¶ âù¢ðî¬ù
Üø¤ï¢¶ ªè£÷¢õîø¢è¢è£è
x=mydate.getDay ( );
âù¢ø function õö¤ò£è Üø¤ï¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. â´î¢¶è¢è£ì¢ì£è Þï¢î function
Ýù¶ 3 âù¢ø ñî¤ð¢ð¤¬ùè¢ ªè£´î¢î£ô¢ ܶ wednesday âù¢ø è¤ö¬ñò¤¬ùè¢
°ø¤è¢è¤ù¢ø¶.
ï£ñ¢ ãø¢è¢ªèù«õ x_col, y_col Ýè¤ò Array-è÷¤ô¢ ðî¤ï¢¶ ¬õî¢î¤¼è¢è¤ù¢ø
ñî¤ð¢¹èÀ袰 ãø¢ø£ø¢«ð£ô¢ è¤ö¬ñè¬÷ loop-ù¢ Íôñ¢ display ªêò¢¶
Þ¼è¢è¤ù¢«ø£ñ¢. Þð¢ªð£¿¶ «îî¤è¬÷ õó¤¬êò£ò¢ x-ô¢ âù¢ù ñî¤ð¢¹
Þ¼è¢è¤ù¢ø«î£ Üî¤ô¤¼ï¢¶ loop-ù¢ õö¤ò£è display ªêò¢è¤ù¢«ø£ñ¢. x-ù¢ ñî¤ð¢¬ð
Ãì¢®è¢ ªè£í¢«ì õ¼è¤ù¢«ø£ñ¢. x-ù¢ ñî¤ð¢¹ 6 -袰 «ñô¢ ªêô¢½ñ¢ ªð£¿¶
Üî¬ù 0 âù¢ø ñî¤ð¢ð£è ñø¢ø¤ õ¤ì¢´, y-ù¢ ñî¤ð¢ð¤ô¢ åù¢ø¤¬ùè¢ Ã좮è¢
ªè£÷¢Àè¤ù¢«ø£ñ¢. Þñ¢º¬øò¤ô¢ ïñ袰 Calendar 褬ìè¢è¤ù¢ø¶.
«ñ½ñ¢ Action event-ù¢ õö¤ò£è âð¢ªð£¿ªîô¢ô£ñ¢ ï£ñ¢c_month, up, downÝè¤ò
158

More Related Content

PDF
106 Ch
PDF
136 Ch
PDF
How to use Virtualization Technology in Hatena
PDF
256 Ch
PDF
Spring catalogue 2010_lr_ar
PDF
Jitaku Server 3points
PDF
자바 네트워킹 기초에서 응용까지
PDF
webwork2guide
106 Ch
136 Ch
How to use Virtualization Technology in Hatena
256 Ch
Spring catalogue 2010_lr_ar
Jitaku Server 3points
자바 네트워킹 기초에서 응용까지
webwork2guide

What's hot (17)

PDF
JavaScript再入門
PDF
Lesson 1com
PDF
คอมพิวเตอร์เบื้องต้น
PDF
1046
DOC
Introducing Intalio|BOP (Japanese)
PDF
Children’s Voices for Human Rights Newsletter – Issue no.68
PDF
K smart lighthouse factory(acs)
PDF
VRV system part 2
PDF
Children’s Voices for Human Rights Newsletter – Issue no.62
PDF
서버, 도커 컨테이너, 데이터베이스, WAS, 네트워크, 쿨링랙, 서버 취약점, IP 주소 관리, 가동률 등 IT 인프라 모니터링 솔루션 ...
PDF
حاسب ثالث ثانوي كتاب المعلم عام
PDF
Namo Web Solution
PPTX
超有用!Power Cam簡報錄製
PPT
Lecture 3
PDF
Voices of Panchayat Presidents - Newsletter - Issue No.34
PDF
حاسب 1 كتاب التدريبات مقررات
JavaScript再入門
Lesson 1com
คอมพิวเตอร์เบื้องต้น
1046
Introducing Intalio|BOP (Japanese)
Children’s Voices for Human Rights Newsletter – Issue no.68
K smart lighthouse factory(acs)
VRV system part 2
Children’s Voices for Human Rights Newsletter – Issue no.62
서버, 도커 컨테이너, 데이터베이스, WAS, 네트워크, 쿨링랙, 서버 취약점, IP 주소 관리, 가동률 등 IT 인프라 모니터링 솔루션 ...
حاسب ثالث ثانوي كتاب المعلم عام
Namo Web Solution
超有用!Power Cam簡報錄製
Lecture 3
Voices of Panchayat Presidents - Newsletter - Issue No.34
حاسب 1 كتاب التدريبات مقررات
Ad

Viewers also liked (12)

PPT
新人如何快速启动
PDF
How java works
PPTX
Jeunesse opportunity presentation_12-2014
PDF
癌症发生的原因和营养辅助冶疗
PDF
Chapter 4
PDF
Detoxic
PPT
Paragraph for cate 2015
ODP
PDF
Detoxic eng
PPTX
Zen bodi training
ODP
Chocolate graphs
新人如何快速启动
How java works
Jeunesse opportunity presentation_12-2014
癌症发生的原因和营养辅助冶疗
Chapter 4
Detoxic
Paragraph for cate 2015
Detoxic eng
Zen bodi training
Chocolate graphs
Ad

Java

  • 1. âOò îIN™âOò îIN™âOò îIN™âOò îIN™âOò îIN™ JAVA ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡
  • 2. ELIYATHAMIZHIL- JAVA By BAKIYANATHAN Published By: Bakkiam Consultancy Services (BCS) Old No: 60, New No: 127, Angappa Naicken Street, Parrys, Chennai-600001 All Rights Reserved by BCS
  • 3. âOò îIN™âOò îIN™âOò îIN™âOò îIN™âOò îIN™ JAVA ¹°‹º¡:¹°‹º¡:¹°‹º¡:¹°‹º¡:¹°‹º¡: îèõ™ ªî£N™ ¸†ðˆ ¶¬øJ™ å¼ ¹Fò ñÁñô˜„CJ¬ù ãŸð¢ð´ˆFò ªñ£N JAVA â¡ø£™ ܶ I¬èò£è£¶. Iè‚ °ÁAò è£ôˆF™ àôè‹ º¿õ¶‹ HóCˆî‹ ªðŸÁ ð™«õÁ ܽõôèƒèO½‹ Þ¡Á JAVA ðò¡ð´ˆîŠð´Aø¶. JAVA -M¡ Þ‰î Mòˆî° õ÷˜„C‚° Internet -¡ ðò¡ð£´èœ èì‰î Cô ݇´èO™ ÜFèKˆî«î è£óíñ£°‹. ãªùQ™ JAVA -M™ Internet -ä„ ê£˜‰î ¹«ó£Aó£‹è¬÷ âO¬ñò£è â¿î Þò½‹. «ñ½‹ âŠð®Šð†ì Application Program -è¬÷ «õ‡´ñ£ù£½‹ â¿F‚ ªè£œ÷ Þò½‹. ÞõŸ¬ø M쾋 JAVA Hóðôñ£ù º‚Aò è£óí‹ å¡Á Þ¼‚Aø¶. ܶ JAVA Þôõêñ£è A¬ì‚A¡ø¶. Þî¬ù Internet -™ Þ¼‰¶ Þôõêñ£è Download ªêŒ¶‚ ªè£œ÷ô£‹. Þ‰î ¹ˆîèˆF™ JAVA -M¡ ܬùˆ¶Š ðò¡ð£´è¬÷»‹ Iè ªîOõ£è Cø‰î â´ˆ¶‚裆´èœ Íô‹ M÷‚AJ¼‚A«ø¡. Þî¡ Ü®Šð¬ì‚ «è£†ð£´èO™ Þ¼‰¶ ¸µ‚èñ£ù ܬùˆ¶ ¹«ó£Aó£Iƒ º¬øèÀ‹ ÞQò îIN™ âOò ï¬ìJ™ M÷‚èŠð†´œ÷ Þ‰î ¹ˆîè‹ îƒèÀ‚° I°‰î ðòùO‚°‹ â¡Á à÷ñ£ø A«ø¡. õ£›ˆ¶‚èÀì¡,õ£›ˆ¶‚èÀì¡,õ£›ˆ¶‚èÀì¡,õ£›ˆ¶‚èÀì¡,õ£›ˆ¶‚èÀì¡, ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡ð £ ‚ A ò ï £ î ¡
  • 4. 4 ªð£¼÷ìè¢èñ¢ªð£¼÷ìè¢èñ¢ªð£¼÷ìè¢èñ¢ªð£¼÷ìè¢èñ¢ªð£¼÷ìè¢èñ¢ âíâíâíâíâí¢¢¢¢¢ Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ ðè¢èñðè¢èñðè¢èñðè¢èñðè¢èñ¢¢¢¢¢ 1 Java - ºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õ 5 2 Object-Oriented Programming 23 3 Applets ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ Application 42 4 JavaDraw å¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ù Drawing ¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢ 74 5 Swing - Java Foundation Classes (JFC) 95 6 Java Database Connectivity (JDBC) 120 7 Thread 130 8 Files 140 9 Calander - ¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢ 147
  • 5. 5 Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 1. Java - ºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õºîô¢ ð£ó¢¬õ õóô£Áõóô£Áõóô£Áõóô£Áõóô£Á Sun Micro System â¡Â‹ ܪñK‚è GÁõù‹ 1991 -‹ ݇´ õ£‚A™ Java ªñ£NJ¬ù à¼õ£‚Aò¶. ܉î è£ô è†ìˆF™ ܉GÁõù‹ TV, VCR ºîLò âªô‚®ó£Q‚ àðèóíƒèO™ ðò¡ðì‚îò ªñ¡ ªð£¼œè¬÷ à¼õ£‚°‹ ºòŸCJ™ Þ¼‰î¶. Ü âO¬ñò£è¾‹, «õèñ£è¾‹, I辋 FøÂœ÷î£è¾‹ ñŸÁ‹ CPòî£è¾‹ Þ¼‚è‚îò ¹«ó£Aó£‹èœ «î¬õŠð†ìù. «ñ½‹ ܬõ ܬùˆ¶ õ¬èò£ù Hardware àðèóíƒèO½‹ ðò¡ðì‚îòî£è¾‹ Þ¼‚è «õ‡®ò ÜõCòI¼‰î¶. Þ‰î ܬùˆ¶ âF˜ð£˜Š¹è¬÷»‹ ̘ˆF ªêŒ»‹ õ¬èJ™ Java ªñ£NJ¬ù à¼õ£‚Aù£˜èœ. Java -ªñ£NJ¬ù ð™«õÁ ¹«ó£ªü†èO™ Sun GÁõùˆî£˜ ðò¡ð´ˆFJ¼‚A¡øù˜, â¡ø£½‹ 1994 -‹ õ¼ì‹ Hot Java Browser â‹ ªñ¡ªð£¼œ ªõOò£ù ªð£¿¶î£¡ Þ¶ Hóðôñ¬ì‰î¶. Java Development Kit (JDK) Java â‹ ªê£™ Java Development Kit â¡ðî¬ù«ò °P‚A¡ø¶. Kit â¡Â‹ ªê£™LŸ° ð™ªõÁ ªð£¼œè¬÷ ªè£‡ì ªî£°Š¹ â¡Á ªð£¼œ. Java -M™ ð™ªõÁ «õ¬ôè¬÷ ªêŒõîŸè£è îQˆîQò£è ðô Tool -èœ Þ¼‚A¡øù. ÜõŸP¡ Æ´ˆ ªî£°Š«ð Java Development Kit ݰ‹. àî£óíñ£è cƒèœ å¼ Java ¹«ó£Aó£I¬ù à¼õ£‚AJ¼‚A¡l˜èœ â¡ø£™ Üî¬ù Compile ªêŒõè¡Á javac â‹ Compiler Tool Þ¼‚A¡ø¶. Þî¡ Íô‹ Compile ªêŒòŠð†´ à¼õ£‚èŠð´‹ Object File- è¬÷ Þò‚°õ java â¡Â‹ Tool Þ¼‚A¡ø¶. Þ¶«ð£¡Á æõ¢ªõ£Á ðE‚° â¡Á îQˆîQò£è Tool -èœ Þ¼‚A¡øù. Þ‰î Tool -èO¡ ªî£°Š«ð Java. Þ‰î JDK -¡ ð£¬îò Version Ýù¶ 1.2 ݰñ¢. Üî£õ¶ JDK 1.2 -õ¤¬ù   Java Version 2 â¡Á ܬö‚A¡«ø£‹. Þ‰î JDK1.2-õ¤¬ù  Sun Micro System -F¡ http://Java.Sun.com Þ¬íò î÷ˆFL¼‰¶ Þôõêñ£è Download ªêŒ¶ ªè£œ÷ Þò½‹. Þ‰î JDK -õ¤¬ùî¢ îM˜ˆ¶ «õÁ Cô Java -èÀ‹ Þ¼‚A¡øù. ÜõŸ¬øŠ ðŸP»‹ cƒèœ ÜP‰¶ ªè£œ÷ «õ‡´‹. ܶ Þ¡Pò¬ñò£î¶.
  • 6. 6 Microsoft Visual J++ Borland JBuilder Symantec Cafe Lite ºîô£ù ªñ¡ªð£¼œè¬÷Š ðŸP «èœMŠð†®¼‚Al˜è÷£. Þ¬õ»‹ Java ªñ£Nèœî£¡. Ýù£™ Þ¬õ Integrated Development Environment (IDE) â¡Â‹ õ¬èJ¬ù ꣘‰î Sun Micro System îM˜ˆ¶ ð¤ø è‹ªðQè÷£™ MŸ‚èŠð´‹ ªñ¡ªð£¼œ ݰ‹. Integrated Development Environment â¡ð¶ º¿‚è º¿‚è ²ôðñ£ù º¬øJ™ Visual Basic ºîô£ù ªñ¡ªð£¼œèO™ ¹«ó£Aó£‹è÷¢ â¿¶õ¶ «ð£ù¢ø º¬øò£°ñ¢. «ñø¢ªê£ù¢ù Java -è÷¤ô¢ ¹«ó£è¤ó£ñ¢è÷¢ â¿îõ¶ ªõ° ²ôðñ£è Þ¼‚°‹. Üî£õ¶ «õ‡®ò Object -è¬÷ Windows -™ Mouse -¡ ¶¬í‚ ªè£‡´ õ¬ó‰¶ «î¬õò£ù property setting -°è¬÷ ªêŒ¶‚ ªè£œ÷ º®»‹. Ýù£™ JDK1.2 -ä ðò¡ð´ˆ¶«õ£«ñò£ù£™ º¿‚è º¿‚è ܬùˆFŸ°‹  ¹«ó£Aó£‹è¬÷ â¿Fò£è «õ‡´‹. Þ‰î𢠹ˆîèˆF™ JDK1.2 -ä ªè£‡«ì ܬùˆ¶ â´ˆ¶‚ 裆´è¬÷»‹ ªêŒF¼‚A¡«ø£‹. Java -ä cƒèœ Þ¬íò î÷ˆFL¼‰¶ Download ªêŒî£½‹ êK Ü™ô¶ 㟪èù«õ CD-ROM -™ Þ¼‰¶ Copy ªêŒî£½‹ ÜõŸ¬ø ºîL™ Decompress ªêŒò «õ‡´‹. Java ªð£¶õ£è àƒèœ èEªð£PJ™ C:JDK1.2> â¡ø Sub Directory - ò¤ô¢ Install ÝAJ¼‚°‹. Java âù¢ø£ô¢ Java Development Kit â¡Á 㟪èù«õ ÜP‰F¼‚A¡«ø£‹. C:JDK1.2> â¡ø Sub Directory à¼õ£‚èŠð†´ ÜF™ W«ö ªè£´‚èŠð†®¼‚°‹ ܬùˆ¶ Tool -èÀ‹ Install ÝAJ¼‚°‹. Þ¬õ 嚪õ£¡Á‹ å¼ °PŠH†ì «õ¬ôè¢è£è ðò¡ð´A¡øù. ܆ìõ¬í܆ìõ¬í܆ìõ¬í܆ìõ¬í܆ìõ¬í 1.1 TOOL M÷‚è‹M÷‚è‹M÷‚è‹M÷‚è‹M÷‚è‹ Appletviewer Java -™ â¿îŠð´‹ Applet â‹ õ¬èJ¬ù ꣘‰î ¹«ó£Aó£‹èœ ê K ò £ è Þòƒ°A¡øùõ£ â¡ðî¬ù êK𣘊ð ðò¡ð´‹ Tool ݰ‹. ªð£¶õ£è Applet -èœ Browser -èO™ Þòƒ°‹ â¡ðî¬ù G¬ùM™ ªè£œè.
  • 7. 7 Jar Þ¶ Java Archive Tool âùŠð´‹. Þî¡ Íô‹ ðô Java File -è¬÷ å«ó å¼ Java Archive File (Jar) Ýè ñ£ŸP‚ ªè£œ÷ Þò½‹. Java Þ¶ Java Interpreter ݰ‹. Þî¡ Íô‹ Java ¹«ó£Aó£‹è¬÷ Þò‚°A¡«ø£‹. Javac Þ¶ Java Compiler ݰ‹. Þî¡ Íô«ñ Java ¹«ó£Aó£‹è¬÷ Compile ªêŒA¡«ø£‹. Java doc Þ¶ å¼ Documentation Generator ݰ‹. Þî¡ Íô‹ Source Code -èO™ Þ¼‰¶ File-è¬÷ à¼õ£‚è Þò½‹. Javah Þ¶ ð£ó‹ðKò C ªñ£N File Generator ݰ‹. Þî¡ Íô‹ C ªñ£NJ¡ Header File -èœ ñŸÁ‹ Source File -èœÝAòõŸ¬ø à¼õ£‚è Þò½‹. Java Key Þ¶ Java Digital Key Tool ݰ‹. Þ¶ Jar File -èO™ Digital signature -è¬÷ à¼õ£‚°õð¢ ðò¡ ð´Aø¶. Javap Þ¶ å¼ Disassambler ݰ‹. Þî¡ Íô‹Java Byte Code- è¬÷  ¹K‰¶‚ªè£œÀ‹ õ®õˆF™ ñ£ŸP‚ ªè£œõîŸ°Š ðò¡ð´Aø¶. Jdb Þ¶ å¼ debugger ݰ‹. Java ¹«ó£Aó£I™ àœ÷ îõÁè¬÷ Command Line -™ Þ¼‰¶ ªè£í¢´ F¼ˆ¶õð¢ ðò¡ð´Aø¶. Jve Þ¶ Java Runtime Interpreter ݰ‹. Java Tool -ä «ð£ô Þî¬ùŠ ðò¡ð´ˆF»‹ Application -è¬÷ Þò‚A‚ ªè£œ÷ô£‹. Ýù£™ Java Tool -™ Þ¼‚è îò ðô Option -èœ ÞF™ Þ™¬ô. Native2ascii Non Unicode Latin -1 õ¬è¬ò ꣘‰î Source File è¬÷ Unicode Latin -1 File -è÷£è ñ£ŸÁõð¢ ðò¡ð´A¡ø¶. Rmtc Þ¶ Remote Method Invocation Complier ݰ‹. Þî¡ Íô‹ Stub ñŸÁ‹ Sklleton Class File -èœ Java object -èÀè¢è£è à¼õ£‚èð†´ ÜõŸ¬ø
  • 8. 8 Java rmi Remote â‹ Interface -™ ðò¡ð´ˆî Þò½‹. Rmiregistry Þ¶ å¼ Remote object registry tool ݰ‹. «ñ½‹ Þ¶ RMI Server -èO™ BootStrap naming Service- è¬÷ê¢ ªêŒA¡ø¶. Serial var Þ¶ Serial Version Tool ݰ‹. Þî¡ Íô‹ Serial Verion UIP â‹ ñFŠH¬ù ܬùˆ¶ Class- èO™ Þ¼‰¶‹ ªðŸÁ‚ ªè£œ÷ º®»‹. cƒèœ ªõŸPèóñ£è Java -¬õ àƒèœ èEŠªð£PJ™ Install ªêŒîHø° Cô Environment Variable -è÷¤ô¢ ñ£ø¢øé¢è÷¢ ªêŒò «õ‡´‹. Üî£õ¶ àƒèœ Autoexec.bat File -™ Java â‰î Sub directory -™ Þ¼‚A¡ø¶, ÜPò Library- èœ âƒ° Þ¼‚A¡øù ºîô£ù îèõ™è¬÷ê¢ ªê£™ô «õ‡´‹. Ü W›è‡ì õKè¬÷ Autoexec.bat File -™ ñ£ŸP‚ ªè£œÀƒèœ. SET PATH= $PATH$;C:JDK1.2BIN SET CLASSPATH=C:JDK1.2Classes;C:JDK1.2 LibClasses.zi Autoexec.bat â¡ð¶ C: -™ Þ¼‚èîò ê£î£óí TextFile . Üî¬ù ãî£õ¶ å¼ ê£î£óí Text Editor -™ Open ªêŒ¶‚ ªè£œ÷ô£‹. Java -M™ â¡ù ªêŒò Þò½‹M™ â¡ù ªêŒò Þò½‹M™ â¡ù ªêŒò Þò½‹M™ â¡ù ªêŒò Þò½‹M™ â¡ù ªêŒò Þò½‹ ªð£¶õ£è Java -õ¤ô¢ Applet ñŸÁ‹ Application ÝAò Þó‡´ õ¬è ¹«ó£Aó£‹è¬÷ à¼õ£‚°A¡«ø£‹. Applet â¡ð¶ Internet Browser -èO™ Þòƒèîò¶. ²¼ƒèè¢ÃP¡ Internet -™ ðò¡ð´‹ ¹«ó£Aó£‹èœ. Application â¡ð¶ ê£î£óíñ£è  â¿¶‹ ñŸø â™ô£ ¹«ó£Aó£‹è¬÷»‹ °P‚°‹. ºî™ºî™ºî™ºî™ºî™ Java ¹«ó£A󣋹«ó£A󣋹«ó£A󣋹«ó£A󣋹«ó£Aó£‹ Þƒ«è W«ö ªè£´‚èŠð†®¼‚°‹ ¬ìò ºî™ Java ¹«ó£Aó£I¬ù ÜŠð®«ò ãî£õ¶ å¼ Text Editor -™ ¬ìŠ ªêŒ¶ ªè£œÀƒèœ. H¡ù˜ Ü First.Java â¡Á ªðòK†´ Save ªêŒ»ƒèœ.
  • 9. 9 first.java class first { public static void main (String arg[ ]) { System.out.println(“Welcome to the world of Java”); } } MS-DOS Prompt -Ÿ° õ‰¶M´ƒèœ. Ü Start--->Program--->Ms-Dos Prompt â‹ è†ì¬÷¬òŠ ðò¡ð´ˆ¶ƒèœ. ðì‹ðì‹ðì‹ðì‹ðì‹ 1.1 Þšõ£Á Þ™¬ôªòQ™ Windows -¡ Start Menu -M™ àœ÷ Run è†ì¬÷¬ò AO‚ ªêŒ»ƒèœ. ܃° ðì‹ðì‹ðì‹ðì‹ðì‹ 1.2
  • 10. 10 «ñ«ô àœ÷õ£Á Command â¡Á ¬ìŠ ªêŒ»ƒèœ. ÞŠªð£¿¶ MS-DOS Prompt -Ÿ° õ‰¶ Þ¼Šd˜èœ ܃° cd jdk1.2 â¡Á ¬ìŠ ªêŒ»ƒèœ. jdk1.2 â‹ Folder -‚°œ ªê¡Á M´ƒèœ. Þ‰î Folder -™  cƒèœ àƒèœ Source File - è¬÷ à¼õ£‚AJ¼‚A¡l˜èœ â¡Á ¬õˆ¶‚ ªè£‡ì£™ ÞƒA¼‰¶ C:JDK1.2>edit first.java â¡Á ¬ìŠ ªêŒ»ƒèœ. Edit â¡Á MS-DOS -™ Þ¼‚°‹ å¼ Text Editor ݰ‹. Üî¬ùŠ ðò¡ð´ˆF  ¬ìò Java Source Code - è¬÷ â¿F ªè£œ÷ Þò½‹. ðì‹ðì‹ðì‹ðì‹ðì‹ 1.3 Þƒ° ¹«ó£Aó£I¬ù ¬ìŠ ªêŒ¶ Save ªêŒ¶ M†´ ªõOJ™ õ‰¶ M´ƒèœ. ÞŠªð£¿¶  ¬ìŠ ªêŒî Source File -ä Compile ªêŒò «õ‡´‹. Ü javac â¡Â‹ Tool ðò¡ð´Aø¶. W«ö è‡ìõ£Á è†ì¬÷¬ò‚ ªè£´ƒèœ.
  • 11. 11 C:JDK1.2 >javac first.java Þ‰î javac â¡Â‹ Compiler Tool Ýù¶ ¬ìò ¹«ó£Aó£‹ º¿õ¬î»‹ Compile ªêŒ¶ Üî¬ù Byte coded class file Ýè à¼õ£‚Aˆ î¼A¡ø¶. Þð¢ªð£¿¶ first.class âù¢Âñ¢ ¹î¤ò file åù¢Á à¼õ£è¤ò¤¼è¢°ñ¢. ܉î file -ä   Þò‚è «õ‡´‹. Ü H¡õ¼ñ£Á è†ì¬÷¬ò‚ ªè£´ƒèœ. C: JDK1.2> java first Þƒ° java â¡Â‹ Tool, First â¡Â‹ Byte coded Class File -ä Þò‚°A¡ø¶. 𣿶 cƒèœ W«ö è£‡ð¶ «ð£¡ø å¼ Result-ä 裇d˜èœ. Welcome to the world of Java °Pй°Pй°Pй°Pй°Pй Java ¹«ó£Aó£‹è¬÷ â‰î Text Editor -™ «õ‡´ñ£ù£½‹ à¼õ£‚èô£‹. Ýù£™ Ü extention Ýù¶ è†ì£òñ£è .java â¡Á Þ¼‚è «õ‡´‹. Þšõ£Á à¼õ£‚èŠð†ì Source File -ä javac â¡Â‹ Compiler Íô‹ Compile ªêŒò «õ‡´‹. ¹«ó£Aó£I™ ãî£õ¶ îõÁèœ Þ¼‰î£™ Compiler ܉î îõÁè¬÷è¢ è£ì¢´‹. Üõø¢¬øê¢ êó¤ ªêò¢¶ e‡´‹ Compile ªêŒò «õ‡´‹. îõÁèœ õó£î ð†êˆF™ java â¡Â‹ Tool -ä ªè£‡´ class file -è¬÷ Þò‚A‚ ªè£œ÷ô£‹. Java Language Cô Ü®Šð¬ì ¹«ó£Aó£Iƒ º¬øèœCô Ü®Šð¬ì ¹«ó£Aó£Iƒ º¬øèœCô Ü®Šð¬ì ¹«ó£Aó£Iƒ º¬øèœCô Ü®Šð¬ì ¹«ó£Aó£Iƒ º¬øèœCô Ü®Šð¬ì ¹«ó£Aó£Iƒ º¬øèœ ªð£¶õ£è â‰î èEŠªð£P ªñ£NJ™ ¹«ó£Aó£‹è¬÷ â¿Fù£½‹, ¹«ó£Aó£‹èO™ ° º‚Aò àì¢ÃÁèœ Þ¼‚A¡øù. cƒèœ C, C++, Oracle, Visual Basic â¡Á â‰î ªñ£NJ™ ¹«ó£Aó£‹è¬÷ ÞòŸPù£½‹ ÜõŸP™ âˆî¬ù õKèœ Þ¼‰î£½‹ ܬõò¬ùˆ¶‹ W›è£µ‹ Þ‰î ° HK¾èO™ õ‰¶ M´‹. ܬõ 1) Statements 2) Conditions 3) Branchings 4) Loopings Statements ¹«ó£Aó£I™  ðò¡ð´ˆ¶‹ 嚪õ£¼ è†ì¬÷»‹ å¼ Statements ݰ‹. cƒèœ å¼ Variable -ô¤¬ù à¼õ£‚èô£‹. Ü™ô¶ ܉î Variable-
  • 12. 12 èO™ Cô ñFйè¬÷ GóŠðô£‹, ñŸÁ‹ Calculation -è¬÷ê¢ ªêŒòô£‹. Þ¶ «ð£¡Á cƒèœ ªè£´‚°‹ ðô è†ì¬÷èœ Statement -è÷£è Þ¼‚A¡øù. Conditions å¼ ¹«ó£Aó£I™ Decision Making Statements â¡ø¬ö‚èŠð´‹ è¡®û¡èœ è†ì£ò‹ Þ¼‚°‹. â´ˆ¶‚裆ì£è å¼ ðœOJ™ ñ£íõ˜èO¡ «î˜¾ ñFŠªð‡è¬÷ ¬èò£œõ å¼ ¹«ó£Aó£‹ â¿¶A¡«ø£‹ â¡Á ¬õˆ¶‚ªè£‡ì£™ ܉î ñ£íõ¡ îI›, ݃Aô‹, èEî‹, ÜPMò™, êÍè ÜPMò™ â¡Á ܬùˆ¶ ð£ìƒèO½‹ 40 Ü™ô¶ Ü «ñŸŠð†ì ñFŠªð‡è¬÷ ⴈ  «î˜„C ªðø «õ‡´‹. Þ™¬ôªòQ™ «î˜„C»øè¢Ã죶 â¡Â‹ G¬ôJ™  â¿î‚îò if condition -è¬÷«ò Conditions â¡Á ܬö‚A¡«ø£‹. è¡®û¡èœ Þ™ô£ñ™ ¹«ó£Aó£‹è÷¢ â¿¶õ¬î èŸð¬ù Ãì ªêŒ¶ ð£˜‚è º®ò£¶. Branching å¼ ¹«ó£Aó£I™ ðô ¶¬íŠ ¹«ó£Aó£‹èœ (Sub Programs i.e, Procedures and Functions) â¿îŠð†®¼‚°‹. Üî£õ¶ å¼ °PŠH†ì ¹«ó£Aó£‹ â¿¶‹ªð£¿¶ º¿ ¹«ó£Aó£I¬ù»‹ ªî£ì˜„Cò£è â¿î Þòô£¶. °PŠH†ì ðEèÀ‚è£è îQˆîQò£è ¹«ó£Aó£‹è¬÷ ªõõ¢«õÁ Þìé¢è÷¤ô¢ â¿î¤è¢ ªè£÷¢÷ô£ñ¢. Þõ¢õ£Á «õÁ Þìé¢è÷¤ô¢ â¿îð¢ð좮¼è¢°ñ¢ ¹«ó£è¤ó£ñ¢è¬÷ ñŸø â‰î ¹«ó£Aó£IL¼‰¶ñ¢ Þò‚A ªè£œ÷ô£‹. Üšõ£Á Þò‚°‹ªð£¿¶ ¹«ó£Aó£‹ Ýù¶ å¼ ÞìˆF™ Þ¼‰¶ î£M ñŸªø£¼ ÞìˆFŸ° ªê¡Á ÞòƒAò H¡ e‡´‹ ð¬öò G¬ô‚° F¼‹H Þòƒ°‹ º¬øJ¬ùî¢î£¡ Branching â¡Á ÃÁA¡«ø£‹. ªð£¶õ£è ܬùˆ¶ ¹«ó£Aó£Iƒ ªñ£NèO½‹ ð™«õÁ Procedures and Functions ÝAò¬õ Þ¼‚A¡øù. ÜõŸ¬ø  Branching º¬øJ™  ðò¡ð´ˆF‚ ªè£œA«ø£‹. Looping ¹«ó£Aó£IƒA™ Loop -èO¡ ðƒ° ñèˆî£ù¶. å¼ °PŠH†ì Condition F¼ŠFð´‹ õ¬ó å¼ °PŠH†ì ¹«ó£Aó£ñ¤ù¢ õKèœ F¼‹ð F¼‹ð Þòƒ°‹ º¬øJ¬ù«ò Loop â¡Á ܬö‚A¡«ø£‹. â´ˆ¶è£†ì£è 1 -™ Þ¼‰¶ 1000 õ¬ó â‡èœ F¬óJ™ ªîKò ¬õ‚è «õ‡´ªñQ™  1000 õKè÷¤ô¢ ¹«ó£Aó£‹ â¿î Þòô£¶. Üð¢ ðFô£è å¼ Loop -¬ù
  • 13. 13 ܬñˆ¶ ܉î Loop Ýù¶ 1000 îì¬õ Þòƒ°ñ£Á ܬñˆ¶ Üîœ ïñ¶ ¹«ó£Aó£‹è¬÷ â¿F ªè£œ÷ «õ‡´‹. Datatypes ñŸÁ‹ñŸÁ‹ñŸÁ‹ñŸÁ‹ñŸÁ‹ Variables ïñ¶ Java ¹«ó£Aó£I™ ð™«õÁ ñFйè¬÷ ¬èò£œõ Variable- è¬÷ à¼õ£‚°«õ£‹. Üšõ£Á Variable -è¬÷ à¼õ£‚°‹ªð£¿¶ ÜõŸP™ â‰î õ¬èò£ù ñFйè¬÷ð¢ ðFò «ð£A¡«ø£‹ â¡Á Ãø «õ‡´‹. Üî¢î£¡ Datatype -èœ ðò¡ð´A¡øù. C ªñ£NJ™ Þ¼Šð¶ «ð£¡«ø Java -M½‹ int, char, float ºîô£ù Datatype -èœÞ¼è¢è¤ù¢øù. ÞõŸP™ ªõÁ‹ â‡è¬÷ ¬èò£œõ int Data Type -ä ðò¡ð´ˆ¶A¡«ø£‹. â‡èO½‹ 123.456 ºîô£ù ñFйè¬÷ð¢ ðFŠð float Data Type ðò¡ð´A¡ø¶. ⿈¶‚è¬÷ ¬èò£œõ char Data Type ðò¡ð´A¡ø¶. Þ‰î Data Type -è¬÷ îM˜ˆ¶ ð™«õÁ class -èœ Þ¼‚A¡øù. ÜõŸ¬ø‚ ªè£‡´  Variable -è¬÷ à¼õ£‚A‚ ªè£œ÷ô£‹. H¡õ¼‹ ¹«ó£Aó£I™ Cô Variable -è¬÷ à¼õ£‚A ÜõŸP™ âšõ£Á ñFйè¬÷ ðF‰¶ ¬õŠð¶ â¡ðî¬ù è£íô£‹. Listing 1.2 class pro1_2 { public static void main(String arg[]) { int rollno, tamil, english, maths, science, social, total; String sname; float avg; rollno=1; sname=”Reena”; tamil=65; english=80; maths=50; science=90; social=75;
  • 14. 14 total=tamil+english+maths+science+social; avg=total/5; System.out.println(“Roll Number : “ + rollno); System.out.println(“Student Name : “ + sname); System.out.println(“Tamil : “ + tamil); System.out.println(“English : “ + english); System.out.println(“Maths : “ + maths); System.out.println(“Science : “ + science); System.out.println(“Social : “ + social); System.out.println(“Total : “ + total); System.out.println(“Average : “ + avg); } } Þ‰î ¹«ó£Aó£I™  rollno, tamil, english, maths, science, social, total ºîLò Variable -è¬÷ int data type -™ à¼õ£‚AJ¼‚A¡«ø£‹. sname â¡Â‹ Variable -ä String â¡Â‹ Class -ù¢ Object Ýè à¼õ£‚AJ¼‚A¡«ø£‹. Þ‰î String Class -ä ðò¡ð´ˆ¶õî¡ Íô‹ ªî£ì˜ ⿈¶‚è¬÷ (String °è÷¢) ¬èò£÷ô£‹. avg â¡Â‹ Variable Ýù¶ float data type -™ Þ¼‚A¡ø¶. à¼õ£‚èŠð†ì Variable -èœ Ü¬ùˆF½‹ ÜõŸPŸ‚°Pò ñFŠ¹èœ ðFòŠð†®¼‚A¡øù. ÜõŸP™ àœ÷ ñFŠ¹èœ Screen -™ Display ªêŒõîŸè£è System.out.println â¡Â‹ Function àð«ò£A‚èŠð†®¼‚A¡ø¶. cƒèœ ÞŠªð£¿¶ Ièˆ ªîOõ£è Cô Ü®Šð¬ì Java Programing º¬øè¬÷ ªîK‰¶ ªè£œ÷ «õ‡´‹. â‰î Java ¹«ó£Aó£I½‹ å¼ class â¿îŠð†®¼‚°‹. Þ‰î ¹«ó£Aó£I™ class student â¡Á ªè£´‚èŠð†®¼Šð¬îè¢ èõQ»ƒèœ. class -è¬÷Š ðŸP  ªîOõ£è H¡õ¼‹ â´ˆ¶è£†´èO½‹, ܈Fò£òƒèO½‹, è£íô£‹. ªñ£î¢îî¢î¤ô¢ å¼ Java ¹«ó£Aó£ñ£ù¶ å¼ class-¡ àœ Üì颰è¤ù¢ø¶. Þï¢î class -ù¢ à÷¢ public static void main(String arg[]) â¡ø function â¿îŠð†®¼Šð¬î èõQ»ƒèœ. Þ‰î function Þ¼ŠH¡  å¼ Java Application å¡P¬ù â¿¶A¡«ø£‹ â¡Á ªð£¼œ. ¬ìò Java ¹«ó£Aó£‹ Þòƒ°‹«ð£¶ main function -™ Þ¼‰¶  Þòé¢è Ýó‹H‚°‹.
  • 15. 15 H¡õ¼‹ Syntax -ä èõQ»ƒèœ. ÞF™ Þ¼Šð¶ «ð£™  cƒèœ Java Application -è¬÷ â¿î «õ‡´‹ â¡ðî¬ù G¬ùM™ ªè£œÀé¢è÷¢. class <Class Name> { public static void main(String arg[ ]) { ... } } «ñø¢è¢èí¢ì ¹«ó£è¤ó£ñ¤¬ù 覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ô¢ èñ¢¬ðô¢ ªêò¢¶ Þòè¢è¤ð¢ ð£¼é¢è÷¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 1.4 Operators ¹«ó£è¤ó£ñ¢è¬÷ â¿¶õîø¢° Operator -è÷¤ù¢ ðé¢è÷¤ð¢¹ ñ¤è¾ñ¢ Þù¢ø¤ò¬ñò£î¶ Ýè¤ù¢ø¶. Arithmetic Operators, Relational Operators, Logical Operators âù ðô õ¬èè÷£è Operator -è÷¢ Þ¼è¢è¤ù¢øù. +, -, *, / ºîô£ù¬õ Arithmetic Operator
  • 16. 16 -è÷¢ ݰñ¢. Þõø¢¬øè¢ ªè£í¢´ Calculation -è¬÷ê¢ ªêò¢¶ ªè£÷¢÷ô£ñ¢. <, >, <=, >=, ! =, = = ºîô£ù¬õ Relational Operator -è÷¢ ݰñ¢. Þõø¢ø¤ô¢ <, > âù¢ð¶ º¬ø«ò Less than ñø¢Áñ¢ Greater than âù¢ðî¬ùè¢ °ø¤è¢è¤ù¢ø¶. <=, >= Ýè¤ò¬õ º¬ø«ò Less than or equal to ñø¢Áñ¢ greater than or equal to Ýè¤òõø¢¬øè¢ °ø¤è¢è¤ù¢ø¶. ! = âù¢ð¶ not equal to âù¢ðî¬ùè¢ °ø¤è¢è¤ù¢ø¶. == âù¢ð¶ equal to âù¢ðî¬ùè¢ °ø¤è¢è¤ù¢ø¶. Þï¢î Relational Operator -è¬÷è¢ ªè£í¢´ Þóí¢´ âù¢è÷¤ô¢ â¶ ªðó¤ò¶, ê¤ó¤ò¶, Üô¢ô¶ êññ£è Þ¼è¢è¤ù¢øî£ Üô¢ô¶ Þô¢¬ôò£ «ð£ù¢ø îèõô¢è¬÷ Condition - è÷¤ô¢ à÷¢ ðòù¢ð´î¢î¤ Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢. &&, ||, ! ºîô£ù¬õè÷¢ Logical Operator -è÷¢ ݰñ¢. æù¢Á袰ñ¢ «ñø¢ðì¢ì èí¢®ûù¢è¬÷ê¢ êó¤ð£ó¢ð¢ðîø¢° Þï¢î Logical Operator -è¬÷ð¢ ðòù¢ð´î¢¶ è¤ù¢«ø£ñ¢. && âù¢ð¶ Logical AND ݰñ¢. Þóí¢´ Condition - è÷¢ Þ¼è¢è¤ù¢ø Þìî¢î¤ô¢ Þóí¢´«ñ èì¢ì£òñ£è Ìó¢î¢î¤ ªêò¢òð¢ðì «õí¢´ñ¢ âù¢ø 郎ôò¤ô¢ Þï¢î && (AND Operator) 郎ùð¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. ñ£ø£è Þóí¢´ Condition -è÷¢ Þ¼è¢è¤ù¢ø Þìî¢î¤ô¢ ãî£õ¶ åù¢Á Ìó¢î¢î¤ò£ù£ô¢ «ð£¶ñ¢ âù¢øõ£Á Þ¼ï¢î£ô¢ Üîø¢° || (OR Operator) ðòù¢ð´è¤ù¢ø¶. ! âù¢ð¶ not Operator ݰñ¢. if Condition ï£ñ¢ ãø¢è¢ªèù«õ Condition -âù¢ø£ô¢ âù¢ù âù¢ðî¬ùð¢ ðø¢ø¤ Üø¤ï¢î¤¼è¢è¤ù¢«ø£ñ¢. 覫ö ªè£´è¢èð¢ð좴÷¢÷ Syntax -¬ùð¢ ðòù¢ð´î¢î¤ if Condition -è¬÷ àð«ò£èð¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. if (bodean Expression) { ...... } [else { ...... }] Listing 1.3 class pro1_3 {
  • 17. 17 public static void main(String argv[]) { int x; int y; x=30; y=50; if (x > y) { System.out.println(“X is greater than Y”); } else if (x < y) { System.out.println(“Y is greater than X”); } else { System.out.println(“Both Are Same”); } } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ x ñø¢Áñ¢ y âù¢Á Þóí¢´ int data type variable -è÷¢ à¼õ£è¢èð¢ð좴 Üõø¢ø¤ô¢ ê¤ô ñî¤ð¢¹è¬÷ ðî¤ï¢¶ Þ¼è¢è¤ù¢«ø£ñ¢. Þ颰 if Condition -ù¤¬ùð¢ ðòù¢ð´î¢î¤ x -ô¢ à÷¢÷ ñî¤ð¢¹ ªðó¤òî£ Üô¢ô¶ Y -ô¢ à÷¢÷ ñî¤ð¢¹ ªðó¤òî£ âù¢Á èí¢´ ð¤®è¢°ñ¢ ªð£¼ì¢´ ¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. ºîô¤ô¢ if condition -ù¤ô¢ x Ýù¶ y -ò¤¬ù õ¤ì ªðó¤òî£ âù¢ðî¬ùê¢ êó¤ ð£ó¢è¢è¤ù¢«ø£ñ¢. Üõ¢õ£Á Þ¼ð¢ð¤ù¢ Üï¢î condition -ù¤ù¢ à÷¢«÷ à÷¢÷ ð°î¤ò£ù¶ Þò颰è¤ù¢ø¶. Üîø¢° 覫ö ªè£´è¢èð¢ð좴÷¢÷ else ð°î¤è÷¢ «õ¬ô ªêò¢ò£¶. æ¼ «õ¬ô ºîô¤ô¢ ªè£´è¢èð¢ðì¢ì condition ªð£¼ï¢îõ¤ô¢¬ô âù¤ô¢ else ð°î¤ î£ù£è Þò颰è¤ù¢ø¶. Þ颰 else -ù¤ô¢ ñø¢Áªñ£Á if condition Þ¼è¢è¤ù¢ø¶. Üî¤ô¢ y Ýù¶ x -¬ù õ¤ì ªðó¤òî£ âù¢ðî¬ù check Java-3
  • 18. 18 ªêò¢õîø¢°ø¤ò condition ªè£´è¢èð¢ð좮¼è¤ù¢ø¶. Þ¶ ªð£¼ï¢î¤ò¤¼ð¢ð¤ù¢ Üî¤ô¢ ªè£´è¢èð¢ðì¢ì èì¢ì¬÷è÷¢ Þò颰ñ¢. Þô¢¬ôªòù¤ô¢ 覫ö à÷¢÷ else ð°î¤ò£ù¶ Þò颰è¤ù¢ø¶. °ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹: if condition -è÷¤ô¢ else Ýù¶ èì¢ì£òñ¢ ðòù¢ð´î¢î «õí¢´ñ¢ âù¢ð¶ Þô¢¬ô. if «õ¬ô ªêò¢òõ¤ô¢¬ô âù¤ô¢ else ð°î¤ Þ¼ð¢ð¤ù¢ ܶ î£ù£è «õ¬ôªêò¢»ñ¢. Listing 1.4 class pro1_4 { public static void main(String arg[]) { int rollno, tamil, english, maths, science, social, total; String sname; float avg; rollno=1; sname=”Reena”; tamil=65; english=80; maths=50; science=90; social=75; total=tamil+english+maths+science+social; avg=total/5; System.out.println(“Roll Number : “ + rollno); System.out.println(“Student Name : “ + sname); System.out.println(“Tamil : “ + tamil); System.out.println(“English : “ + english); System.out.println(“Maths : “ + maths); System.out.println(“Science : “ + science); System.out.println(“Social : “ + social); System.out.println(“Total : “ + total); System.out.println(“Average : “ + avg);
  • 19. 19 if (tamil>=40 && english>=40 && maths>=40 && science>=40 && social>=40) { System.out.println(“Result : Pass”); } else { System.out.println(“Result : Fail”); } } } Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ Student - ®Â¬ìò ñ£ó¢è¢°è¬÷ð¢ ðî¤ï¢¶ Üõó¢ ܬùð¢ ð£ìé¢è÷¤½ñ¢ 40 ñî¤ð¢ªðù¢è÷¢ Üô¢ô¶ Üîø¢° Üî¤èñ£è𢠪ðø¢Á «îó¢ê¢ê¤ò¬ìï¢î¤¼è¢è¤ù¢ø£ó£ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢Àñ¢ ð®è¢° â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ颰 && âù¢ø AND Operator, if condition -è÷¤ô¢ ðòù¢ ð´î¢îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. For Loop C ªñ£ö¤ò¤ô¢ Þ¼ð¢ð¶ «ð£ù¢«ø Java -õ¤½ñ¢ for, while, do while Ýè¤ò loop èì¢ì¬÷è÷¢ Þ¼è¢è¤ù¢øù. for loop -¬ùè¢ ªè£í¢´ °ø¤ð¢ð¤ì¢ì îì¬õè÷¤ô¢ å«ó èì¢ì¬÷î¢ ªî£°ð¢¹è¬÷ Þòè¢è¤è¢ ªè£÷¢÷ º®»ñ¢. for (initialization; condition; increment/decrement) { ..... } for Loop Ýù¶ Íù¢Á ð¤ó¤¾è÷£èð¢ ð¤ó¤è¢èð¢ð좮¼è¢è¤ù¢ø¶. ºîô¤ô¢ intialization ð°î¤ Þ¼è¢è¤ù¢ø¶. Þî¤ô¢ ï£ñ¢ ïñ¶ variable -è÷¤ô¢ å¼ ñî¤ð¢ð¤¬ùð¢ ðî¤ò «õí¢´ñ¢. ܴ condition ð°î¤ò¤ô¢ ïñ袰 «õí¢®òð® condition -è¬÷ õ¬óò¼î¢¶è¢ ªè£÷¢÷ «õí¢´ñ¢. ܴ increment / decrement ð°î¤ò¤ô¢ ïñ¶ condition -è÷¢ 郎ø«õÁñ¢ õ¬èò¤ô¢ ñî¤ð¢¹è÷¢ õ¼ñ¢ð®è¢° statement -è¬÷ ܬñè¢è «õí¢´ñ¢. Listing 1.5 class pro1_5
  • 20. 20 { public static void main(String arg[]) { int x; for (x=1; x<=100; x++) { System.out.println(x); } } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ 1 -ô¤¼ï¢¶ 100 õ¬ó âù¢è¬÷ Display ªêò¢õîø¢°ø¤ò for loop -¬ù Þòø¢ø¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ颰 ºîô¤ô¢ x âù¢Âñ¢ variable -ô¢ 1 âù¢ø ñî¤ð¢ð¤¬ù intialize ªêò¢è¤ù¢«ø£ñ¢. ܴ condition -ù¤ô¢ x<=100 âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Þîù¢ð® x -ô¢ 100 Üô¢ô¶ Üîø¢° °¬øõ£ù ñî¤ð¢¹è÷¢ õ¬ó Þ¼è¢èô£ñ¢. 100 -袰 «ñø¢ð¢ðì¢ì ñî¤ð¢¹è÷¢ õ¼ñ¢ªð£¿¶ loop -¬ù õ¤ì¢´ ªõ÷¤«ò õ õ¤ì «õí¢´ñ¢ âù¢Á ªð£¼÷¢. increment ð°î¤ò¤ô¢ x++ âù¢Á ªè£´è¢èð¢ð¢ì®¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þîù¢ð® x -ô¢ îø¢ªð£¿¶ ޼袰ñ ñî¤ð¢«ð£´ 1 âù¢ø ðî¤ð¢ð¤¬ù Ãì¢®è¢ ªè£÷¢÷ «õí¢´ñ¢ âù¢Á ªð£¼÷¢. loop Ýù¶ åõ¢ªõ£Á º¬ø»ñ¢ condition-ù¤¬ù êó¤ð£ó¢î¢¶ õ¤ì¢´ ÜîÂ÷¢ ªè£´è¢èð¢ð좮¼è¢°ñ¢ èì¢ì¬ùè¬÷ Þò袰è¤ù¢ø¶. ð¤ù¢ùó¢ condition ð°î¤ Þò颰è¤ù¢ø¶. Þ¶ «ð£ù¢Á ñ¦í¢´ñ¢ ñ¦í¢´ñ¢ loop -ù¢ à÷¢ Þ¼è¢è¤ù¢ø îèõô¢è÷¢ Þò颰è¤ù¢øù. while loop while loop Ýù¶ ªõ¼ñ¢ condition -ù¤¬ù ñ좴«ñ ªè£í¢´÷¢÷¶. for loop -ä «ð£ô intialization ñø¢Áñ¢ increment ð°î¤è÷¢ Þ颰 èì¢ì¬÷ò¤Â÷¢ Þô¢¬ô. Ýù£ô¢ ï£ñ¢ Üõø¢¬ø èì¢ì£òñ£è «õÁ Þìé¢è÷¤ô¢ ðòù¢ð´î¢î «õí¢´ñ¢. while (condition) { statements... } Listing 1.6 class pro1_6
  • 21. 21 { public static void main(String arg[]) { int x; x=1; while (x!=100) { System.out.println(x); x++; } } } Þ颰 x âù¢ø variable à¼õ£è¢èð¢ð좮¼è¢è¤ù¢ø¶. while loop Ýóñ¢ð¤ð¢ðîø¢° ºù¢«ù x=1; âù¢Á intialize ªêò¢òð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. while loop -ù¢ à÷¢ x!=100 âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬î»ñ¢ èõù¤»é¢è÷¢. Þîù¢ð® x -ô¢ 100 -¬ù îõ¤ø «õÁ âï¢î ñî¤ð¢¹è÷¢ Þ¼ï¢î£½ñ¢ loop -ù¢ à÷¢ ªêô¢ôô£ñ¢ âù¢Á ªð£¼÷¢. x++ âù¢ø increment statement loop -ù¢ à÷¢ Þ¼ð¢ðî¬ùè¢ èõù¤»é¢è÷¢. do while loop Þ¶¾ñ¢ while loop -¬ù𢠫ð£ô«õ Þò颰è¤ù¢ø¶. Ýù£ô¢ while loop Ýù¶ ºîô¤ô¢ condition -ù¤¬ù check ªêò¢¶õ¤ì¢´ ð¤ù¢ èì¢ì¬÷è¬÷ Þò袰è¤ù¢ø¶. Ýù£ô¢ do while loop Ýù¶ ºîô¤ô¢ èì¢ì¬÷è¬÷ Þòè¢è¤õ¤ì¢´ ð¤ù¢ùó¢ condition -ù¤¬ù check ªêò¢»ñ¢. do { Statement.... }while(condition); Listing 1.7 class pro1_7 { public static void main(String arg[]) {
  • 22. 22 int x; x=1; do { System.out.println(x); x++; }while (x!=100); } } Þ颰 ºîô¤ô¢ do -õ¤¬ù ܴ Þ¼è¢è¤ù¢ø èì¢ì¬÷è÷¢ Þò颰ñ¢ ð¤ù¢ùó¢ î£ù¢ while -ô¢ Þ¼è¢è¤ù¢ø condition êó¤ð£ó¢èè¢ð¢ð´ñ¢. Þï¢î õ¬èò¤ô¢ å«ó å¼ îì¬õò£õ¶ do while loop -ù¢ à÷¢ à÷¢÷ èì¢ì¬÷è÷¢ Þòé¢è¤õ¤´ñ¢ ù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢è.
  • 23. 23 Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 2. Object-Oriented Programming Object-Oriented Programming (OOP) âù¢ð¶ îø¢ªð£¿¶ ¹öè¢èî¢î¤ô¢ à÷¢÷ ñ¤èê¢ê¤øï¢î ¹«ó£è¤ó£ñ¤é¢ º¬øò£°ñ¢. Java õ£ù¶ Þï¢î º¬øò¤¬ùð¢ ð¤ù¢ðø¢ø¤î¢ î£ù¢ Þò颰è¤ù¢ø¶. âù«õ ºîô¤ô¢ Object-Oriented Programming âÂñ¢ º¬øò¤¬ù»ñ¢ Üîù¢ ðòù¢ð£´è¬÷»ñ¢ ñ¤èî¢ ªî÷¤õ£è Üø¤ï¢¶ ªîó¤ï¢¶ ªè£í¢ì£ô¢ ñ좴«ñ Java -õ¤ù¤ô¢ ïñ¢ñ£ô¢ ¹«ó£è¤ó£ñ¢è¬÷ â¿î¤è¢ªè£÷¢÷ Þò½ñ¢. å¼ °ø¤ð¢ð¤ì¢ì «õ¬ôò¤¬ùê¢ ªêò¢õîø¢è¢è£è å¼ ¹«ó£è¤ó£ñ¢ â¿î «õí¢´ñ¢ âù¢Á ¬õî¢¶è¢ ªè£÷¢Àé¢è÷¢. Üî¬ù OOP º¬øò¤ô¢ å¼ Class Ýè â¿î «õí¢´ñ¢. class âù¢ð¶ variable -è¬÷»ñ¢, function -è¬÷»ñ¢ ªè£í¢ì ªî£°ð¢¹ ݰñ¢. â´î¢¶è¢è£ì¢ì£è ¹î¢îèé¢è¬÷ð¢ ðø¢ø¤ò îèõô¢è¬÷ ¬èò£÷¢õîø¢è£è å¼ ¹«ó£è¤ó£ñ¢ â¿¶è¤ù¢«ø£ñ¢ âù¢Á ¬õî¢¶è ªè£÷¢Àé¢è÷¢. Üîø¢ªèù¢Á å¼ class â¿î «õí¢´ñ¢. Üï¢î class -ø¢è¢° ï£ñ¢ Book âù¢Á ªðòó¢ ªè£´è¢èô£ñ¢. Þï¢î Book âÂñ¢ class -Â÷¢ ï£ñ¢ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢÷ «õí¢®ò îèõô¢èÀè¢è£è variable -è¬÷ à¼õ£è¢è «õí¢´ñ¢. BookName, AuthorName, Publisher, Price ºîô¤ò îèõô¢è÷¢ Book Class -ø¢° «î¬õªòù¤ô¢ ï£ñ¢ variable -è¬÷ ÜîÂ÷¢ à¼õ£è¢èô£ñ¢. Þî¢î¬èò variable -è¬÷ data members âù¢Á ܬöè¢è¤ù¢ø«ø£ñ¢. Þõ¢õ£Á å¼ class -ù¢ à÷¢ à¼õ£è¢èð¢ðì¢ì data member è¬÷ê¢ ê£ó¢ï¢«î£ Üô¢ô¶ ê£óñ«ô£ ï£ñ¢ ðô function -è¬÷ class -è÷¤ù¢ à÷¢ â¿î¤è¢ ªè£÷¢÷ô£ñ¢. Þõ¢õ£Á class -ù¢ à÷¢ â¿îð¢ð´ñ¢ function -è¬÷ Method âù¢Á ܬöè¢è¤ù¢«ø£ñ¢. Ýè data members(variable) ñø¢Áñ¢ methods (function) Ýè¤òõø¢¬øè¢ ªè£í¢´ °ø¤ð¢ð¤ì¢ì å¼ «õ¬ôè¢è£è â¿îð¢ð´ñ¢ ¹«ó£è¤ó£ñ¢ º¬ø«ò class ݰñ¢. àé¢èÀ袰 ‘C’ ªñ£ö¤ò¤ô¢ ¹«ó£è¤ó£ñ¢ â¿î ªîó¤ï¢î¤¼è¢°«ñò£ù£ô¢ Struct âù¢ø¬öè¢èð¢ð´ñ¢ structure -è¬÷ð¢ ðòù¢ð´î¢î¤ò¤¼ð¢ð¦ó¢è÷¢. Üî¤ô¢ ï£ñ¢ ªõ¼ñ¢ variable -è¬÷ ñ좴ñ¢ ªè£í¢´ å¼ structure -ø¤¬ù à¼õ£è¢è¤ îèõô¢è¬÷ ê¤øð¢ð£è ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢. Üî¢î¬èò Structure -è÷¤ù¢ advanced version Ýè«õ class -è÷¢ ðòù¢ð´è¤ù¢øù.
  • 24. 24 å¼ º¬ø å¼ class â¿îð¢ð좴 õ¤ì¢ì£ô¢ Üî¬ùð¢ ðòù¢ð´î¢î¤ ïñ¢ñ£ô¢ Object -´è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢÷ Þò½ñ¢. ²¼è¢èñ£è Ãø¤ù£ô¢ class Ýù¶ å¼ user defined data type Ýèð¢ðòù¢ð´è¤ù¢ø¶. Üî£õ¶ int, char, float, double ºîô¤ò data type -è¬÷ð¢ ðòù¢ð´î¢î¤ âõ¢õ£Á ï£ñ¢ variable -è¬÷ à¼õ£è¢è¤ ðòù¢ð´î¢¶è¤ù¢«ø£«ñ£ ܶ «ð£ô ï£ñ¢ â¿¶ñ¢ class -è÷¢ data type -è÷£è Þò颰è¤ù¢øù. Üõø¢¬øè¢ ªè£í¢´ ïñ¢ñ£ô¢ variable -è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢÷ Þò½ñ¢. Üî¢î¬èò variable -è¬÷«ò ï£ñ¢ Object - âù¢Á ܬöè¢è¤ù¢«ø£ñ¢. Þõ¢õ£Á class -è¬÷ à¼õ£è¢è¤ Üîù¢Íôñ¢ Object -´è¬÷ à¼õ£è¢è¤ ðòù¢ð´î¢¶ñ¢ º¬øò¤¬ùî¢î£ù¢ Object-Oriented Programming âù¢Á ܬöè¢è¤ù¢«ø£ñ¢. Listing 2.1. class book { String bookname; String authorname; String publisher; int price; public void store(String tbookname, String tauthorname, String tpublisher, int tprice) { bookname=tbookname; authorname=tauthorname; publisher=tpublisher; price=tprice; } public void display() { System.out.println(“Book Name : “ + bookname); System.out.println(“Author Name : “ + authorname); System.out.println(“Publisher : “ + publisher); System.out.println(“Price : “ + price); System.out.println(“—————————————————”); }
  • 25. 25 public static void main(String arg[]) { book java = new book(); book oracle = new book(); java.store(“Java Language”,”Packianathan”, ”AnuRagham”,250); oracle.store(“Oracle Datbase”,”Packianathan”, ”AnuRagham”,125); java.display(); oracle.display(); } } Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ Book âù¢ªø£¼ class â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 main( ) Function ù¤¬ùî¢ îõ¤ó¢î¢¶ Üîø¢° ºù¢ ðô õó¤è÷¢ Þ¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üõø¢ø¤ô¢ ºîô¤ô¢ BookName, AuthorName, Publisher, Price Ýè¤ò variable -è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. ܬõ Þï¢îè¢ class-ù¢ data member -è÷¢. Üî¬ùî¢ ªî£ìó¢ï¢¶ Store ñø¢Áñ¢ display âù¢Á Þóí¢´ function -è÷¢ Þ¼è¢è¤ù¢øù. Þ¬õ Methods âù¢Á ܬöè¢èð¢ð´è¤ù¢øù. Þõø¢ø¤ô¢ store function Ýù¶ parameter -è÷¤ù¢ õö¤ò£è ñî¤ð¢¹è¬÷𢠪ðø¢Á Üõø¢¬ø data member -è÷¤ô¢ ðî¤ï¢¶ ¬õð¢ðîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. ܶ«ð£ô¢ display function Ýù¶ data member -è÷¤ô¢ à÷¢÷ ñî¤ð¢¹è¬÷ Display ªêò¢¶ð¢ ð£ó¢ð¢¢ðîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. Þï¢î𢠹«ó£è¤ó£ñ¤¬ù Compile ªêò¢¶ Þò袰ñ¢ªð£¿¶ main( ) function ù¤ô¢ ޼ î£ù¢ ¹«ó£è¤ó£ñ¢ Þòé¢è Ýóñ¢ð¤è¢°ñ¢. ÞîÂ÷¢ Book java = new Book ( ) ; Book oracle = new Book ( ) ; âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶«õ å¼ class -ô¤¼ï¢¶ Object-´è¬÷ à¼õ£è¢°ñ¢ º¬ø. ºîô¤ô¢ class -ù¢ ªðòó¤¬ùê¢ Ãø¤, ð¤ù¢ùó¢ à¼õ£è¢°è¤ù¢ø Object -®ù¢ ªðòó¤¬ùê¢ ªê£ô¢ô «õí¢´ñ¢. Þ颰 java ñø¢Áñ¢ oracle âù¢ðù Book Class -ô¤¼ï¢¶ à¼õ£è¢èð¢ð´ñ¢ Object -´è÷¢ ݰñ¢. ܴ ï£ñ¢ = âÂñ¢ assignment operator -ø¤¬ùè¢ ªè£´î¢¶ Üî¬ùî¢ ªî£ì Java-4
  • 26. 26 new Book( ) âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Þõ¢õ£Á ªè£´è¢°ñ¢ ªð£¿¶ î£ù¢ àí¢¬ñò¤ô¢ Class ù¢ Object -Ýù¶ ¹î¤î£è à¼õ£è¤ù¢ø¶. Þõ¢õ£Á Object Ýù¶ à¼õ£°ñ¢ ªð£¿¶ Üï¢î Class -ù¢ à÷¢ ï£ñ¢ õ¬óò¼î¢î¤¼è¢è¤ù¢ø data member -èÀñ¢ ñø¢Áñ¢ method -èÀñ¢ Üï¢îï¢î Object- ´èÀ袪èù¢Á îù¤î¢îù¤ò£è à¼õ£è¤ù¢øù. Üî£õ¶ Þ颰 java âù¢ø Object-ø¢è¢° âù¢Á îù¤ò£è Book Name, Author Name, Publisher, Price ºîô¤ò Variable èÀñ¢ store( ) ñø¢Áñ¢ display( ) Ýè¤ò function -èÀñ¢ à¼õ£è¤ù¢øù. Þ«î«ð£ù¢Á îù¤ò£è Oracle Object -ø¢è¢°ñ¢ à¼õ£°ñ¢. Þ¶ «ð£ô¢ âî¢î¬ù Object ´è÷¢ à¼õ£è¢°è¤ù¢ø«ø£«ñ£ Üî¢î¬ù袰ñ¢ îù¤î¢îù¤ò£è datamember -è÷¢ ñø¢Áñ¢ method -è÷¢ Þ¼ð¢ðî£è 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. «ñ½ñ¢ ¹«ó£è¤ó£ñ¤¬ù ï¦é¢è÷¢ àø¢Áð¢ ð£ó¢¬èò¤ô¢ java.store(‘Java Language’,‘Packia Nathan’,‘Anuragham’, 150); oracle.store(‘Oracle Database’,‘Packia Nathan’,’Anuragham’, 125) ; âù¢Á Þ¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ java âù¢ø Object -®ô¢ à÷¢÷ store function -ù¤¬ù»ñ¢ ܶ«ð£ô oracle âù¢ø object -ô¢ à÷¢÷ store function- ù¤¬ù»ñ¢ ðòù¢ð´î¢î¤ Üï¢îï¢î Object -´è÷¤ô¢ à÷¢÷ data member -è÷¤ô¢ îèõô¢è¬÷ð¢ ðî¤ï¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. Þ颰 Object ªðòó¤ø¢è¢°ñ¢ function -ù¤ù¢ ªðòó¤ø¢è¢°ñ¢ ï´õ¤ô¢ å¼ ¹÷¢÷¤ Þ¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ Þï¢î Object -®ô¢ Þ¼è¢è¤ù¢ø function âù¢Á °ø¤ð¢ðîø¢è¢è£è Þõ¢õ£Á ªè£´è¢èð¢ð´è¤ù¢ø¶. «ñ½ñ¢ Þ«î º¬øò¤¬ùð¢ ðòù¢ð´î¢î¤ java.display( ) oracle.display( ) âù¢Á display function è¬÷ Þòè¢è¤ Üï¢îï¢î Object -´è÷¤ô¢ ðî¤ï¢¶ ¬õ Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷ display ªêò¢¶ ð£ó¢î¢¶è¢ ªè£÷¢Àè¤ù¢«ø£ñ¢. Listing 2.2 class emp { int empno,salary; String ename,job; public void assign(int tempno, String tename, String tjob, int tsalary)
  • 27. 27 { empno=tempno; ename=tename; job=tjob; salary=tsalary; } public void view() { System.out.println(“Employee Number : “ + empno); System.out.println(“Employee Name : “ + ename); System.out.println(“Job : “ + job); System.out.println(“Salary : “ + salary); } } class tata { public static void main(String arg[]) { emp nancy = new emp(); emp john = new emp(); nancy.assign(101,”Nancy Jenifer”,”Analyst”,6000); john.assign(102,”John Thomas”,”Programmer”,6000); nancy.view(); john.view(); } } Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ emp âù¢ø class åù¢Áñ¢ Tata âù¢ø class åù¢Áñ¢ â¿îð¢ð좮¼è¢è¤ù¢øù. Þï¢î Þóí¢´ class -ø¢è¢°ñ¢ Þ¬ìò¤ô¢ âï¢îªõ£¼ ªî£ìó¢¹ñ¢ Þô¢¬ô. emp âÂñ¢ class -ô¢ å¼ èñ¢ªðù¤ò¤ô¢ «õ¬ôð¢ ð£ó¢è¢è¤ù¢ø ªî£ö¤ô£÷ó¢ è÷¤ù¢ îèõô¢è¬÷è¢ ¬èò£÷¢õîø¢°ø¤ò ¹«ó£è¤ó£ñ¤¬ù â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢.
  • 28. 28 Üî£õ¶ Þî¤ô¢ empno, ename, job, salary âù¢ø îèõô¢è¬÷ê¢ «êèó¤è¢°ñ¢ ªð£¼ì¢´ variable -è¬÷ à¼õ£è¢è¤, Üõø¢ø¤ô¢ ñî¤ð¢¹è¬÷ ðî¤õîø¢°ñ¢, ñø¢Áñ¢ Üõø¢ø¤ô¢ Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷ è£í¢ðîø¢è¢°ñ£è º¬ø«ò assign ñø¢Áñ¢ view Ýè¤ò function -è¬÷ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Tata âù¢ªø£¼ class Þ¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Tata âù¢Âñ¢ èñ¢ªðù¤ò¤ù¢ îèõô¢è¬÷ ðó£ñó¤è¢°ñ¢ class âù¢Á èø¢ð¬ù ªêò¢¶ ªè£÷¢Àé¢è÷¢. Þï¢î Class -ô¢ î£ù¢ main function Ýù¶ Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù»ñ¢ èõù¤»é¢è÷¢. Þï¢î ¹«óè¤ó£ññ¤¬ù ï¦é¢è÷¢ Compile ªêò¢¶ Run ªêò¢»ñ¢ ªð£¿¶ Tata èñ¢ªðù¤ò¤ô¢ à÷¢÷ main function î£ù¢ Þò颰ñ¢ âù¢ð¶ àé¢èÀ袰 郎ùõ¤¼è¢°ñ¢. Þï¢î main function -ô¢ ï£ñ¢ emp âù¢Âñ¢ class õ¤¬ùê¢ ê£ó¢ï¢î Þóí¢´ object -´è¬÷ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Üî£õ¶, emp nancy = new emp( ) ; emp john = new emp( ) ; ºîô¤ò õó¤è¬÷ °ø¤ð¢ð¤´è¤ù¢«ø£ñ¢. ï£ñ¢ Þ¼ð¢ð«î£ Tata âù¢Âñ¢ Class- ø¢è°÷¢ Üé¢è¤¼ï¢¶ «õªø£¼ class -Ýù emp -ò¤ù¢ Object -´è¬÷ Þ颰 à¼õ£è¢è¤è¢ ªè£÷¢Àè¤ù¢«ø£ñ¢. ð¤ù¢ùó¢ nancy ñø¢Áñ¢ john Ýè¤ò Object- ´èÀ袰ø¤ò assign ñø¢Áñ¢ view function -è¬÷ð¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢Àè¤ù¢«ø£ñ¢. Þõø¢ø¤ô¤¼ï¢¶ å¼ class â¿îð¢ð좴õ¤ì¢ì£ô¢ Üîù¢ Object -´è¬÷ «õÁ âï¢î class -ù¢ à÷¢ ޼ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢ âù¢ðî¬ù ªî÷¤õ£è Üø¤ï¢¶ ªè£÷¢Àé¢è÷¢. Þð¢ªð£¿¶, class âù¢ø£ô¢ âù¢ù âù¢Á åó÷¾ ªî÷¤ï¢î¤¼ð¢ð¦ó¢è÷¢. Þù¤ class ù¤¬ùð¢ ðø¢ø¤ò ªî÷¤õ£ù Syntax -ä ð£ó¢ð¢«ð£ñ¢. Syntex: [modifiers] class <class name> [extend <superclass>] [implements <interfaces>] âð¢ªð£¿¶«ñ èì¢ì¬÷è÷¤ù¢ Syntax -è¬÷ ð®è¢°ñ¢ ªð£¿¶ [ ] brackets- è÷¤ù¢ à÷¢ Þ¼ð¢ð¬õ Option -è÷¢ ݰñ¢. Üî£õ¶ Üõø¢¬øð¢ ðòù¢ð´î¢îô£ñ¢ Üô¢ô¶ ðòù¢ð´î¢î£ñ½ñ¢ Þ¼è¢èô£ñ¢. Þ¶õ¬ó ï£ñ¢ ð£ó¢î¢î â´î¢¶è¢ è£ì¢´è÷¤ô¢ [modifiers], [extend super class] ñø¢Áñ¢ [implement interface] ºîô£ù Þùé¢è÷¢ ðòù¢ð´î¢îð¢ðìõ¤ô¢¬ô. ܬõ åõ¢ªõ£ù¢Áñ¢ ªõõ¢«õÁ
  • 29. 29 ðòù¢ð£´è¬÷è¢ ªè£í¢ì¬õ. âù«õ Üõø¢¬øî¢ îù¤ â´î¢¶è¢è£ì¢´è÷¢ Íôñ¢ Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢. Inheritance Object Oriented Programming º¬øò¤ô¢ Þ¼è¢è¤ù¢ø ºè¢è¤òñ£ù ðòù¢ð£´è÷¤ô¢ Inheritance -ñ¢ åù¢Á. Þï¢î º¬øò¤ù¢ Íôñ¢ Þóí¢´ class- èÀè¢è¤¬ìò¤ô¢ å¼ Þ¬íð¢ð¤¬ù à¼õ£è¢°è¤ù¢«ø£ñ¢. Þîù¢ð® Þóí¢´ class -è÷¤ô¢ åù¢ø¤¬ù super class âù¾ñ¢ ñø¢ªø£ù¢ø¤¬ù subclass âù¾ñ¢ ܬöè¢è¤ù¢«ø£ñ¢. â´î¢¶è¢è£ì¢ì£è father âù¢ªø£¼ class-ñ¢ child âù¢Âñ¢ ªðòó¤ô¢ å¼ class-ñ¢ Þ¼ð¢ðî£è ¬õ袪è£÷¢«õ£ñ¢. father class -ù¢ à÷¢ father name, age, occupation ºîô£ù å¼ îîò¤¬ùð¢ðø¢ø¤ò îèõô¢è¬÷ê¢ «êèó¤î¢¶ ¬õè¢èð¢ð좮¼è¢è¤ù¢øù. child class -à÷¢ child name, age, hobbies ºîô£ù å¼ ñèù¤¬ùð¢ðø¢ø¤ò îèõô¢è÷¢ «êèó¤î¢¶ ¬õè¢èð¢ð좮¼è¢è¤ù¢øù âù¢Á ªè£÷¢Àé¢è÷¢. Þï¢î Þóí¢´ class -è÷¢ îù¤î¢îù¤ò£è õ¬óò¼è¢èð¢ ð좮¼ð¢ð¤ù¢ åù¢Áìù¢ åù¢Á ªî£ìó¢¹ Þ¼è¢è£¶ Üô¢ôõ£? Þð¢ªð£¿¶ Child class -ø¢è¢° å¼ Object -®¬ù à¼õ£è¢°è¤ù¢«ø£ñ¢ âù¢Á ¬õî¢¶è¢ ªè£÷¢Àé¢è÷¢. Üï¢î child object -ù¢ à÷¢ ïñ袰 father -ø¤¬ùð¢ îèõô¢è÷¢ õó«õí¢´ñ¢ âù¢Á õ¤¼ñ¢ð¤ù£ô¢ Üîø¢° ï£ñ¢ inheritance º¬øò¤¬ùè¢ ¬èò£÷ «õí¢´ñ¢. Þîø¢° extends âù¢Âñ¢ èì¢ì¬÷ð¢ ðòù¢ð´è¤ù¢ø¶. Listing 2.3 class father { String fname; int fage; public void assign(String tfname, int tfage) { fname=tfname; fage=tfage; } public void view() { System.out.println(“Father’s Name : “ + fname); System.out.println(“Father’s Age : “ + fage);
  • 30. 30 System.out.println(“”); } } class child extends father { String cname; int cage; public void store(String tcname, int tcage) { cname=tcname; cage=tcage; } public void display() { System.out.println(“Child’s Name : “ + cname); System.out.println(“Child’s Age : “ + cage); System.out.println(“”); } } class school { public static void main(String arg[]) { child allen = new child(); allen.assign(“Sebastian Raj”,30); allen.store(“Allen Smith”,3); allen.view(); allen.display(); } }
  • 31. 31 Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ father âù¢Âñ¢ class Ýù¶ ºîô¤ô¢ â¿îð¢ð좮¼è¢è¤ù¢ø¶. Üî¬ùî¢ ªî£ìó¢ï¢¶ child âÂñ¢ class è¦ö¢è¢èí¢ìõ£Á õ¬óò¼è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. class child extends father { ..... } Þ颰 extends father âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¤ù¢ Íôñ¢ child class Ýù¶ father class àìù¢ Þ¬íè¢èð¢ð좮¼è¢è¤ù¢ø¶. âù«õ Þð¢ªð£¿¶ father class Ýù¶ child class ¬ìò superclass Ýè ªêòô¢ð´è¤ù¢ø¶. Üô¢ô¶ base Class âù¢Áñ¢ Ãøô£ñ¢. Þîù¢ð® ï¦é¢è÷¢ âð¢ªð£¿ªîô¢ô£ñ¢ child class -ø¢° Object -´è¬÷ à¼õ£è¢°è¤ù¢ø¦ó¢è«÷£ Üð¢ªð£¿ªîô¢ô£ñ¢ super class Ýù father -ù¢ Object åù¢Áñ¢ î£ù£è à¼õ£è¢èð¢ð좴 õ¤´ñ¢. ï£ñ¢ îù¤ò£è father class -ø¢è¢° ªèù¢Á Object -´è¬÷ à¼õ£è¢è «õí¢®òî¤ô¢¬ô. «ñ½ñ¢ Þï¢î ¹«ó£è¤ó£ñ¤ô¢ child allen = new child( ); âù¢Á ªè£´î¢¶ allen âù¢Âñ¢ ªðòó¤ô¢ child class -ù¢ Object -¬ù à¼õ£è¢è¤ ò¤¼è¢è¤ù¢«ø£ñ¢. Þ颰 allen.store(...) allen.display( ) ºîô£ù¬õ Child Class -¬ìò function -è÷¢ ݰñ¢. allen.assign(...) allen.view( ) ºîô£ù¬õ father class -ù¢ function -è÷ ݰñ¢. Þï¢î function -è÷¢ allen âù¢Âñ¢ child class -ù¢ Íôñ¢ Þò颰è¤ù¢ø¶ âù¢ðî¬ù Üø¤õîù¢Íôñ¢ Inheritance âõ¢õ£Á Þò颰è¤ù¢ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢. °ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹ Java -õ¤¬ù𢠪ð£¼î¢îõ¬óò¤ô¢ åõ¢ªõ£¼ °ø¤ð¢ð¤ì¢ì «õ¬ôò¤¬ùê¢ ªêò¢õîø¢°ñ¢ âù¢Á ðô¢«õÁ class -è÷¢ â¿î¤ ¬õè¢èð¢ð좴 Þ¼è¢è¤ù¢øù. Üï¢î class -è¬÷ ï£ñ¢ «î¬õè¢«èø¢ø£ó¢«ð£ô Object -´è÷£è à¼õ£è¢è¤ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ «õí¢´ñ¢. Üô¢ô¶ ï£ñ£è å¼ class -¬ù à¼õ£è¢è¤ Üï¢î class -ø¢° ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø Java class -è÷¤¬ù extend èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î¤ Inheritance ªêò¢¶ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
  • 32. 32 Constructors å¼ class -ù¢ à÷¢ Üï¢î class -ù¢ ªðòó¤«ô«ò function -è÷¤¬ù â¿¶ñ¢ º¬ø«ò consturctor âù¢Á ܬöè¢èð¢ð´è¤ù¢ø¶. â´î¢¶è¢è£ì¢ì£è class circle âù¢Á å¼ class Þ¼ð¢ðî£è ªè£í¢ì£ô¢ Üï¢î class -ù¢ à÷¢ circle( ) âù¢ø ªðòó¤ô¢ å¼ function ޼袰ñ£ù£ô¢ ܶ Constructor function âù¢Á ܬöè¢èð¢ð´è¤ù¢ø¶. ê£î£óíñ£è ï£ñ¢ å¼ class -ù¢ à÷¢ â¿¶ñ¢ function -è¬÷ Üï¢î class- ù¢ Object -è÷¤ù¢ õö¤ò£èî¢î£ù¢ Þò袰«õ£ñ¢. Ýù£ô¢ Constructor function è÷¤¬ù𢠪ð£¼î¢î õ¬óò¤ô¢ ï£ñ£è Üî¬ù Þòè¢èî¬õò¤ô¢¬ô. ñ£ø£è ܶ î£ù£è«õ Þò颰ñ¢. âõ¢õ£ªøù¤ô¢ âð¢ªð£¿ªîô¢ô£ñ¢ å¼ class - ù¢ Object à¼õ£è¢èð¢ð´è¤ù¢ø«î£, Üð¢ªð£¿ªîô¢ô£ñ¢ Üï¢î Class ù¢ à÷¢ Constructor Function -è÷¢ ޼袰ñ¢ ðì¢êî¢î¤ô¢ ܬõ î£ù£è ºîô¤ô¢ Þòé¢è¤õ¤´ñ¢. âù«õ Þï¢î Constructor º¬øò¤ù¢ Íôñ¢ class -ù¢ Object ´è÷¢ à¼õ£°ñ¢ êñòî¢î¤ô¢ ïìè¢è «õí¢®ò intialization ºîô¤ò ïñè¢°î¢ «î¬õò£ù «õ¬ôèÀ袰ø¤ò ¹«ó£è¤ó£ñ¢è¬÷ â¿î¤è¢ ªè£÷¢÷ô£ñ¢. Listing 2.4 class hello { hello() { System.out.println(“Hello Constructor”); } public static void main(String arg[]) { hello one = new hello(); hello two = new hello(); hello three = new hello(); } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ hello âù¢ø class â¿îð¢ð좮¼è¢è¤ù¢ø¶. «ñ½ñ¢ hello âù¢ø class-ù¢ ªðòó¤«ô«ò function åù¢Áñ¢ â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
  • 33. 33 Þ¶ Þï¢î class -ù¢ constructor function ݰñ¢. ÞîÂ÷¢, System.out.println(“Hello Constructor”); âù¢ø õó¤ â¿îð¢ð좮¼è¢è¤ù¢ø¶. main( ) function -ô¢ one, two, three âù¢Á Íù¢Á Object -è÷¢ new operator -ø¤¬ùð¢ ðòù¢ð´î¢î¤ à¼õ£è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î Íù¢Á Object -è÷¢ à¼õ£°ñ¢ êñòî¢î¤½ñ¢ Üï¢îï¢î object ´è¢°ø¤ò constructor function -è÷¢ î£ù£è Þòé¢è¤õ¤´ñ¢. Listing 2.5 class circle { int x; int y; int radius; circle() { x=0; y=0; radius=0; } circle(int tx,int ty,int tradius) { x=tx; y=ty; radius=tradius; } circle(circle obj) { x=obj.x; y=obj.y; radius=obj.radius; } Java-5
  • 34. 34 public void store(int tx,int ty,int tradius) { x=tx; y=ty; radius=tradius; } public void display() { System.out.println(“X value: “ + x); System.out.println(“Y value: “ + y); System.out.println(“Radius: “ + radius); System.out.println(“”); } } class check { public static void main(String arg[]) { circle one = new circle(); circle two = new circle(5,10,15); circle three = new circle(two); one.display(); two.display(); three.display(); } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ circle âù¢Á å¼ class â¿îð¢ð좮¼è¢è¤ù¢ø¶. ê£î£óíñ£è å¼ circle õ¬óò «õí¢´ñ¢ âù¢ø£ô¢ ¬ñòð¢¹÷¢÷¤»ñ¢(Centre Point) Ýóºñ¢(Radius) «î¬õ. âù«õ ï£ñ¢ x, y ñø¢Áñ¢ radius âù¢Á Íù¢Á variable -è¬÷ class-ù¢ à÷¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. circle âù¢ø ªðòó¤ô¢ Íù¢Á Constructor function -è÷¢ â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. ºîô¢ circle constructor function -ù¤ô¢ âï¢î å¼ ñî¤ð¢¹èÀñ¢ argument -è÷£è
  • 35. 35 ªè£´è¢èð¢ð좮¼è¢è õ¤ô¢¬ô. Þóí¢ì£õ¶ constructor function -ù¤ô¢ tx, ty, tradius âù¢Á Íù¢Á int variable è÷¢argument -è÷£è õ£é¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Íù¢ø£õ¶, circle constructor function -ù¤ô¢ Obj âù¢Âñ¢ circle class -ù¢ variable, argument Ýè ªè£´è¢èð¢ððð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î Íù¢Á constructor function è÷¤ô¢ ãî£õ¶ åù¢Á, ï£ñ¢ Üï¢î class -ø¢è¢° Object -è¬÷ à¼õ£è¢°ñ¢ ªð£¿¶ ªè£´è¢è¤ù¢ø ñî¤ð¢¹èÀ袰 ãø¢ø£ø¢ð¢ «ð£ô Þò颰è¤ù¢ø¶. main ( ) function ù¤ô¢, circle one = new circle( ); âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ ï£ñ¢ ºîô¤ô¢ â¿î¤ò¤¼è¢è¤ù¢ø constructor function Þò颰è¤ù¢ø¶. ܴ circle two=new circle(5, 10, 15); âù¢Á ªè£´è¢°ñ¢ªð£¿¶ Þóí¢ì£õî£è ï£ñ¢ â¿î¤ò¤¼è¢è¤ù¢ø constructor function Ýù¶ Þò颰è¤ù¢ø¶. ãªùù¤ô¢ ï£ñ¢ Object -®¬ù à¼õ£è¢°ñ¢ ªð£¿¶ Íù¢Á int ñî¤ð¢¹è¬÷ ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Üõø¢¬ø ªðø¢Áè¢ ªè£÷¢õîø¢° õêî¤ò£è Þóí¢ì£õ¶ constructor function Þ¼ð¢ðî£ô¢ Üï¢î function Þò颰è¤ù¢ø¶.ܴ ï£ñ¢ circle three = new circle (two); âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ ï£ñ¢ â¿î¤ò¤¼è¢è¤ù¢ø Íù¢ø£õ¶ constructor function Þò颰è¤ù¢ø¶. ãªùù¤ô¢ îø¢ªð£¿¶ three âÂñ¢ ï£ñ¢ ¹î¤ò Object -®¬ù à¼õ£è¢°ñ¢ ªð£¿¶ ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø Object åù¢ø¤ô¢ Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷ Üð¢ð®«ò Þð¢ªð£¿¶ ï£ñ¢ à¼õ£è¢°ñ¢ Object -®ø¢è¢°÷¢ õó «õí¢´ñ¢ âù¢ðîø¢è£è two âù¢ø Object-®¬ù parameter Ýè ÜÂ𢹠è¤ù¢«ø£ñ¢. circle class -ù¢ object -®¬ù«ò parameter Ýè õ£é¢è¤è¢ªè£÷¢õîø¢° õêî¤ò£è Íù¢ø£õ¶ constructor function â¿îð¢ð좴ò¤¼ð¢ðî£ô¢ ܶ Þò颰è¤ù¢ø¶. ªñ£î¢îî¢î¤ô¢ constructor function è÷¢ Object -´è÷¢ à¼õ£°ñ¢ êñòî¢î¤ô¢ î£ù£è Þòé¢è¤ ï£ñ¢ ªè£´î¢î¤¼è¢è¤ù¢ø ܬù «õ¬ôè¬÷»ñ¢ ªêò¢õîø¢°ñ¢ ðòù¢ð´è¤ù¢ø¶ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. °ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹:°ø¤ð¢¹: å«ó ªðòó¤ù¤ô¢ åù¢Á袰ñ¢ «ñø¢ð¢ðì¢ì function-è¬÷ â¿¶«õ£«ñ ò£ù£ô¢ Üîø¢è¢° function overloading âù¢Á ªðòó¢. Þï¢î º¬øò¤ô¢ function- è¬÷ â¿¶ñ¢ ªð£¿¶ åõ¢ªõ£Á function -ù¤½ñ¢ ªõõ¢«õÁ data type -è÷¤ô¢
  • 36. 36 parameter -è÷¢ ªè£´è¢èð¢ð좮¼è¢è «õí¢´ñ¢. ï£ñ¢ function -¬ù Þò袰ñ¢ ªð£¿¶ ªè£´è¢è¤ù¢ø parameter ñî¤ð¢¹èÀ袰 ãø¢ð Üï¢îï¢î function -è÷¢ Þò颰ñ. ªêù¢ø ¹«ó£è¤ó£ñ¤ô¢ circle âù¢ø ªðòó¤ô¢ Íù¢Á function-è÷¢ â¿îð¢ð좮¼ð¢ð¶ñ¢ function overloading º¬øò¤ô¢ î£ù¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢è. Modifiers: ªð£¶õ£è class -¬ù â¿¶ñ¢ ªð£¿¶ modifiers âù¢Á ܬöè¢èð¢ð´ñ¢ abstract, public, ñø¢Áñ¢ final ºîô£ù¬õ ðòù¢ð´î¢îð¢ð´è¤ù¢øù. 覫ö ªè£´è¢èð¢ð좴÷¢÷ â´î¢¶è¢è£ì¢´è¬÷ èõù¤»é¢è÷¢ abstract class my_graphics { .... } public final class String { .... } abstract âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ Üï¢î class-ù¢ à÷¢ â¿îð¢ð´ñ¢ function åù¢ªøÂñ¢ abstract Ýè Þ¼è¢è «õí¢´ñ¢. abstract class åù¢Á Þ¼ð¢ðî£è¾ñ¢ Üî¬ùê¢ ê£ó¢ï¢¶ ðô subclass -è÷¢ Þ¼ð¢ðî£è¾ñ¢ ªè£÷¢Àé¢è÷¢. â´î¢¶è¢ è£ì¢ì£è my_graphics âù¢ø class Ýù¶ abstract class Ýè Þ¼è¢è¤ù¢ø¶. Üî¬ùê¢ ê£ó¢ï¶ circle, rectangle, triangle ºîô¤ò class-è÷¢ subclass-è÷£è Þ¼è¢è¤ù¢øù. Þ¬õ ܬùî¢î¤¼è¢°ñ¢ Draw âù¢ø ªðòó¤ô¢ function-è÷¢ Þ¼è¢è¤ù¢ø¶ âù¢Á ¬õ袪è£í¢ì£ô¢, ܬõ åõ¢ªõ£ù¢Áñ¢ ªõõ¢«õÁ «õ¬ô ªêò¢õîø¢°ð¢ ðòù¢ð´ñô¢ôõ£? Þ¶ «ð£ù¢ø êñòé¢è÷¤ô¢ ï£ñ¢ Þõø¢¬ø abstract º¬øò¤ô¢ â¿î «õí¢´ñ¢. final âù¢ø modifier Ýù¶ ðòù¢ð´î¢îð¢ðì¢ì£ô¢ Üï¢î class -¬ù inheritance ªêò¢ò Þòô£¶. Üî£õ¶ Üï¢î class Ýù¶ «õÁ âï¢î class -ø¢è¢°ñ¢ superclass Ýè ªêòô¢ðì Þòô£¶. public âù¢ø modifier Ýù¶ ðòù¢ð´î¢îð¢ðì¢ì£ô¢ Üï¢î class -¬ù ,
  • 37. 37 «õÁ ðô ¹«ó£è¤ó£ñ¢è÷¤ô¢ Þ¼ï¢¶è¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. â´î¢¶è¢è£ì¢ì£è ï£ñ¢ Java õ¤ô¢ ðòù¢ð´î¢¶ñ¢ String âù¢Âñ¢ class -¬ù public class Ýè â¿î¤ Þ¼ð¢ðîù£ô¢ î£ù¢ ïñ¢ñ£ô¢ Üî¬ù ܬù ¹«ó£è¤ó£ñ¢è÷¤½ñ¢ ðòù¢ð´î¢î º®è¤ù¢ø¶. this ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ñø¢Áñ¢ super Java õ¤ô¢ this ñø¢Áñ¢ super âù Þóí¢´ ê¤øð¢¹ keyword -è÷¢ Þ¼è¢è¤ù¢øù. å¼ class -ù¢ à÷¢ ï£ñ¢ ðô¢«õÁ variable -è÷¢ ñø¢Áñ¢ function -è¬÷ â¿î¤ ò¤¼ð¢«ð£ñ¢. Þõø¢¬ø Üï¢î class -è÷¤ù¢ Object ´è÷¢ õö¤ò£è Þò袰è¤ù¢«ø£ñ¢ Üô¢ôõ£? Üï¢î êñòé¢è÷¤ô¢ åõ¢ªõ£Á Object -ø¢è¢°ñ¢ âù¢Á îù¤î¢îù¤ò£è variable -è÷¢ ºîô£ù¬õ à¼õ£°ñ¢. âï¢î variable âï¢î object -®Â¬ìò¶ âù¢ðî¬ù ªê£ô¢õîø¢è¢è£è this âÂñ¢ operator ðòù¢ð´è¤ù¢ø¶. Listing 2.6 class student { int rollno; String name; public void store(int rollno, String name) { this.rollno = rollno; this.name = name; } public void display() { System.out.println(“Roll Number: “ + this.rollno); System.out.println(“Name: “ + this.name); System.out.println(“”); } public static void main(String arg[]) { student nancy = new student();
  • 38. 38 student john = new student(); student george = new student(); nancy.store(1,”Nancy Jenifer”); nancy.display(); john.store(2,”John Thomas”); john.display(); george.store(3,”George Clinton”); george.display(); } } Þ颰 student âù¢Âñ¢ class ô¢ õ¬óò¼è¢èð¢ð좴÷¢÷ RollNo, Name, Ýè¤ò variable -è¬÷ Üï¢î class-ù¢ function è÷¤ô¢ this.Rollno, this.name âù¢Á ðòù¢ð´î¢î¤ò¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ Student class -ø¢è¢°, ï£ñ¢ nancy, john, george âù¢Á Íù¢Á Object -è÷¢ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Íù¢Á object -´èÀ袰ñ¢ îù¤î¢îù¤ò£è Rollno, Name ºîô£ù variable-è÷¢ Þ¼ð¢ð¬î 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ï£ñ¢ nancy.store( ), john.store( ) âù¢Á õ¬èò¤ô¢ function -è¬÷ àð«ò£è¤è¢°ñ¢ ªð£¿¶, Üï¢î function -è÷¤ô¢ this.rollno, this.name âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ Üï¢îï¢î object -èÀ袰ø¤ò variable -è÷¢ ðòù¢ð´î¢îð¢ð´è¤ù¢øù. °ø¤ð¢¹ :°ø¤ð¢¹ :°ø¤ð¢¹ :°ø¤ð¢¹ :°ø¤ð¢¹ : Þ颰 this âù¢ð¶ ðòù¢ð´î¢îðð¢ì£õ¤ì¢ì£½ñ¢ åù¢Áñ¢ ð¤óê¢ê¬ù Þô¢¬ô. ãªùù¤ô¢ Ü颰 Þòø¢¬èò£è«õ this operator Þ¼ð¢ðî£è Java compiler 郎ùî¢¶î¢ ªè£÷¢Àñ¢. super âù¢ð¶ inheritance ªêò¢»ñ¢ªð£¿¶ ðòù¢ð´è¤ù¢ø¶. Üî£õ¶ Child class -è÷¤ô¢ ޼ super class -ô¢ Þ¼è¢è¤ù¢ø function -è¬÷ àð«ò£èð¢ð´î¢¶õîø¢° Þ¶ ðòù¢ð´è¤ù¢ø¶. °ø¤ð¢ð£è å¼ super class ô¢ constructor function Þ¼ð¢ðî£è ªè£÷¢Àé¢è÷¢. ï£ñ¢ child class -ø¢° object - ´è¬÷ à¼õ£è¢°ñ¢ ªð£¿¶ child class -ô¢ Þ¼è¢è¤ù¢ø constructor function î£ù¢ Þò颰ñ¢. Ýù£ô¢ inheritance Þ¼ð¢ðîù£ô¢ base class -ù¢ object åù¢Á î£ù£è à¼õ£°ñ¢ function -è÷¤ø¢° ñî¤ð¢¹è¬÷ ªè£´ð¢ðîø¢° super âÂñ¢ º¬øò¤ù£ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. Listing 2.7
  • 39. 39 class state { String state_name; state(String tstr) { state_name = tstr; } public void state_assign(String tstr) { state_name = tstr; } public void state_display() { System.out.println(“State Name : “ + state_name); } } class city extends state { String city_name; city(String tstr) { super(“Tamil Nadu”); city_name = tstr; } public void city_assign(String tstr) { city_name = tstr; } public void city_display()
  • 40. 40 { System.out.println(“City Name : “ + city_name); } } class country { public static void main(String arg[]) { city chennai = new city(“Chennai”); chennai.state_display(); chennai.city_display(); } } Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ state ñø¢Áñ¢ city âù¢Á Þóí¢´ class -è÷¢ Þ¼è¢è¤ù¢øù. Þóí¢´ñ¢ inheritance º¬øò¤ô¢ Þ¬íè¢èð¢ð좮¼è¢è¤ù¢ø¶. state âù¢ð¶ superclass Ýè¾ñ¢city âù¢ð¶childclassÝè¾ñ¢ Þ¼è¢è¤ù¢ø¶. Þóí¢´ class è÷¤½«ñ constructor function â¿îð¢ð좮¼è¢è¤ù¢ø¶. main() function-ù¤ô¢ ï£ñ¢ citychennai=newcity(‘chennai’) âù¢Á ªè£´î¢¶ chennai âù¢Á å¼ Object -¬ù city âÂñ¢ class -ô¢ ޼ à¼õ£è¢°è¤ù¢«ø£ñ¢. ï£ñ¢ parameter Ýè ªè£´è¢°ñ¢ ‘Chennai’ âù¢ø ñî¤ð¢¹ cityclass-ù¢ constructor -¼è¢° àó¤ò¶. city class -ù¢ constructor function -ù¤ô¢ ï£ñ¢ super (‘Tamil nadu’); âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î èì¢ì¬÷ super classÝù state ¬ìò constructor function -ø¢° ñî¤ð¢¹è¬÷è¢ ªè£´è¢è¤ù¢ø¶. Package Package âù¢ð¶ ðô java ¹«ó£è¤ó£ñ¢è¬÷»ñ¢ ñø¢Áñ¢ class -è¬÷»ñ¢ ªè£í¢ì å¼ ªî£°ð¢¹ ݰñ¢. Üî£õ¶ å¼ º¬ø â¿îð¢ðì¢ì ¹«ó£è¤ó£ñ ¢è¬÷«ò£ Üô¢ô¶ class -è¬÷«ò£ «õí¢®ò ªð£¿¶ «î¬õð¢ðì¢ì Þìé¢è÷¤ô¢ ñ¦í¢´ñ¢ ñ¦í¢´ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢õîø¢è¢è£è Package º¬øð¢ ðòù¢ð´è¤ù¢ø¶. ï£ñ¢ â¿¶è¤ù¢ø ðô¢«õÁ class - è¬÷ å¼ Package Ýè à¼õ£è¢è¤õ¤ì¢´ ð¤ù¢ùó¢ Üî¬ù «õí¢®ò Þìî¢î¤ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. Ü«î«ð£ô¢ java ªñ£ö¤ò¤½ñ¢ ðô¢«õÁ ðí¤è¬÷ê¢ ªêò¢õîø¢è¢è£è Ëø¢Áè¢èíè¢è£ù class -èÀñ¢ ¹«ó£è¤ó£ñ¢èÀñ¢ ðô Package -è÷£è â¿îð¢ð좴 Þ¼è¢è¤ù¢øù. åõ¢ªõ£Á Package -ñ¢ °ø¤ð¢ð¤ì¢ì ê¤ô ðòù¢ð£´è¬÷ ªè£í¢ì class -è¬÷ îù¢ùèî¢«î ªè£í¢´÷¢÷¶. Þõø¢¬ø ï£ñ¢ «õí¢®ò êñòé¢è÷¤ô¢
  • 41. 41 ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ «õí¢´ñ¢. ܆ìõ¬í܆ìõ¬í܆ìõ¬í܆ìõ¬í܆ìõ¬í 1.2 Standard Java Packages Api Packages Description java.applet Applet classes and interfaces java.awt Absract windowing Toolkit ( Awt) Class and interfaces. java.awt.image (sub Package of Awt) Bitmap image classes and interfaces. java.awt.peer (subpackage of Awt) Platform-specific AWT Classes and interfaces (such ads Windows, sun, and machitosh) java.io Input/Output classes and interfaces java.lang Core java language classes and interfaces. Java.net Network classes and interfaces. java.util Utility classes and interface. Sun.tool.debug Debuging classes and interface. Import å¼ Package -ô¢ à÷¢÷ class -è¬÷»ñ¢ ñø¢Áñ¢ ¹«ó£è¤ó£ñ¢è¬÷»ñ¢, ï£ñ¢ â¿¶è¤ù¢ø ¹«ó£è¤ó£ñ¢è÷¢ ðòù¢ð´î¢î «õí¢´ñ¢ âù¢ø£ô¢ ºîô¤ô¢ Üï¢î Package -è¬÷ ï£ñ¢ ïñ¢º¬ìò ¹«ó£è¤ó£ñ¤ô¢ ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢ âù¢Á ªê£ô¢õîø¢° import âù¢ø èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î «õí¢´ñ¢. import -èì¢ì¬÷ò¤¬ùè¢ ªè£´î¢¶ Package -ù¢ ªðòó¤¬ùè¢ ªè£´ð¢ðîù¢ Íôñ¢ å¼ Package -ô¢ à÷¢÷ ܬù class -è¬÷»ñ¢ ïñ¢º¬ìò ¹«ó£è¤ó£ñ¢è÷¤ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ Þò½ñ¢. import java.applet.*; import java.awt.* ; import java.net.URL ; «ñ£ô¢ ªè£´è¢èð¢ð좴÷¢÷ â´î¢¶è¢ è£ì¢´è÷¤ù¢ ð® ï£ñ¢ applet, awt, net ºîô¤ò Package è¬÷ import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢. Üõø¢ø¤ô¢ * âù¢Á ªè£´è¢èð¢ð좮¼ð¢ðîù¢ ªð£¼÷¢ âù¢ù ªõù¢ø£ô¢. Üï¢î Package -ô¢ à÷¢÷ ܬù class -è¬÷»ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢ âù¢ð¶ ݰñ¢.
  • 42. 42 Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 3. Applets ñø¢Áññø¢Áññø¢Áññø¢Áññø¢Áñ¢¢¢¢¢Application Þ¶ õ¬ó java -õ¤ù¢ Ü®ð¢ð¬ì ¹«ó£è¤ó£ñ¤é¢ º¬øè¬÷ ñ좴«ñ Üø¤ï¢¶ Þ¼è¢è¤ù¢«ø£ñ¢. àí¢¬ñò¤ô¢ java -õ¤¬ùð¢ ðòù¢ð´î¢î¤ Applets âù¢ø¬öè¢èð ¢ðìè¢Ã®ò web page -è÷¤ô¢ ðòù¢ð´ñ¢ ¹«ó£è¤ó£ñ¢è¬÷»ñ¢ ñø¢Áñ¢ Application âù¢ø¬öè¢èð¢ ðìè¢Ã®ò Graphical user interface (GUI) ¹«ó£è¤ó£ñ¢è¬÷»ñ¢ â¿î¤è¢ ªè£÷¢÷ô£ñ¢. Þ¬õ window operating System î¢î¤ô¢ Þò颰è¤ù¢øù. Applets âùð¢ð´ð¬õ º¿è¢è º¿è¢è web browser -è÷¤ô¢ Þò颰ñ¢. âï¢î å¼ °ø¤ð¢ð¤ì¢ì «õ¬ôò¤¬ùê¢ ªêò¢õîø¢°ñ¢ ïñ¢ñ£ô¢ Applet õ¬è ¹«ó£è¤ó£ñ¢è¬÷ â¿î¤è¢ ªè£÷¢÷ Þò½ñ¢. Þõ¢õ£Á à¼õ£è¢èð¢ð´ñ¢ Applet - è¬÷ Hyper Text Markup Language (HTML) âù¢ø¬öè¢èð¢ð´ñ¢ internet -®ô¢ ðòù¢ð´ñ¢ ªñ£ö¤ò¤ù¢ Íôñ¢ Þòè¢è «õí¢´ñ¢. Internet Explorer ñø¢Áñ¢ Netscape Navigator ºîô£ù¬õ ðóõô£è ðòù¢ð´î¢îð¢ð´ñ¢ Web Browser-è÷¢ ݰñ¢. Þõø¢ø¤ô¢ î£ù¢ ï£ñ¢ Web site- è¬÷ð¢ ð£ó¢è¢è¤ù¢«ø£ñ¢. Þï¢î web Browser-è÷¢ Java õ¤ô¢ â¿îð¢ð´ñ¢ Applet è¬÷ ¹ó¤ï¢¶ Þò袰ñ¢ î¤øù¢ ð¬ìî¢î¬õò£è Þ¼è¢è¤ù¢øù. ï£ñ¢ Applet ¹«ó£è¤ó£ñ¢è¬÷ â¿î¤ º®î¢î ð¤ø° Browser è÷¤ô¢ ªêù¢Á Check ªêò¢¶ ð£ó¢è¢è «õí¢´ñ¢ âù¢ð¶ Þô¢¬ô. ñ£ø£è Applet -è¬÷ Check ªêò¢¶ ð£ó¢ð¢ðîø¢è¢ªèù¢«ø appletviewer âù¢ø tool åù¢Á JDK õ¤ô¢ Þ¼è¢è¤ù¢ø¶. Þî¬ùð¢ ðòù¢ð´î¢î¤ ïñ¢ñ£ô¢ Applet è÷¢ êó¤ò£è Þò颰è¤ù¢øî£ âù¢ðî¬ù êó¤ð£ó¢î¢¶è¢ ªè£÷¢÷ Þò½ñ¢. ºîô¢ºîô¢ºîô¢ºîô¢ºîô¢ Applet ¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢ Listing 3.1 import java.applet.*; import java.awt.Graphics; public class helloapplet extends java.applet.Applet { public void init() { resize(200,150); }
  • 43. 43 public void paint(Graphics g) { g.drawString(“Hello World!”, 50,50); } } «ñ«ô ªè£´è¢èð¢ð좴÷¢÷ ¹«ó£è¤ó£ñ¤¬ù Üð¢ð®«ò å¼ editor -ô¢ Type ªêò¢¶ ªè£÷¢Àé¢è÷¢. file-ä save ªêò¢»ñ¢ ªð£¿¶ ñøè¢è£ñô¢ HelloApplet.java âù¢ø ªðòó¤ô¢ ð ªêò¢»éè÷¢. ãªùù¤ô¢ ï£ñ¢ â¿î¤ò¤¼è¢è¤ù¢ø class Ýù¶ public class Ýè Þ¼è¢è¤ù¢ø¶. ï£ñ¢ Java ¹«óè¤ó£ñ¤ù¤ô¢ public class åù¢ø¤¬ù â¿¶«õ£«ñò£ù£ô¢ Üï¢î file ô¤ø¢° ªðòó¤´ñ¢ ªð£¿¶ Üï¢î class -ù¢ ªðòó¤¬ù«ò ªè£´è¢è «õí¢´ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. import java.applet.*; âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 applet âù¢ø Package - ä ï£ñ¢ import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Package-ô¢ î£ù¢ applet ¹«ó£è¤ó£ñ¢è¬÷ â¿¶õîø¢°î¢ «î¬õò£ù class -è÷¢ Þ¼è¢è¤ù¢øù. «ñ½ñ¢ public class HelloworldApplet extends java.applet.Applet âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ HelloworldApplet âù¢Á ï£ñ¢ â¿¶è¤ù¢ø ¹î¤ò class -ø¢è¢° java.applet.Applet âù¢Á ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø å¼ class -àìù¢ extends èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î¤ inheritance ªêò¢òð¢ ð좮¼è¢è¤ù¢ø¶. ï¦é¢è÷¢ âð¢ªð£¿¶ Applet õ¬èò¤¬ùê¢ ê£ó¢ï¢î ¹«ó£è¤ó£ñ¢è¬÷ â¿î «õí¢®ò¤¼ï¢î£½ñ¢ Üð¢ªð£¿¶ªîô¢ô£ñ¢ «ñø¢è¢èí¢ì º¬øò¤¬ù èì¢ì£òñ£è ð¤ù¢ðø¢ø¤ò£è «õí¢´ñ¢. ãªùù¤ô¢ java.applet.Applet âù¢ø class Ýù¶ º¿è¢è º¿è¢è Applet - è¬÷ à¼õ£è¢è¤ è좴ð¢ð´î¢î¤è¢ îò ܬù ¹«ó£è¤ó£ñ¢è¬÷»ñ¢ îù¢ùèî¢«î ªè£í¢ì å¼ class ݶñ¢. ï£ñ¢ â¿¶è¤ù¢ø Class -ø¢è¢° Þï¢î class àìù¢ inheritance ªêò¢»ñ¢ ªð£¿¶ ïñ¢º¬ìò class Ýù¶ å¼ Applet Class Ýè ñ£ø¤õ¤´è¤ù¢ø¶. ð¤ù¢ùó¢ ïñè¢°î¢ «î¬õò£ù ¹«ó£è¤ó£ñ¢è¬÷ ñ좴ñ¢ Þï¢î class ù¢ à÷¢ â¿î¤è¢ ªè£í¢ì£ô¢ «ð£¶ñ£ù¶. public void init( ) { ... }
  • 44. 44 âù¢Á å¼ function Þ¼ð¢ðî¬ùè¢ èõù¤»é¢è÷¢. Þï¢î function ù¤¬ù Þîø¢° ºù¢ ï¦é¢è÷¢ ðòù¢ð´î¢î¤ò¤¼è¢è ñ£ì¢¯ó¢è÷¢. âð¢ªð£¿ªîô¢ô£ñ¢ ï¦é¢è÷¢ Applet â¿¶è¤ù¢ø¦ó¢è«÷£ Üð¢ªð£¿ªîô¢ô£ñ¢ Þï¢î init( ) function -ù¤¬ù â¿î¤ò£è «õí¢´ñ¢. ãªùù¤ô¢ Applet ¹«ó£è¤ó£ñ¢è÷¢ init( ) function -ô¢ ޼ î£ù¢ Þòé¢è Ýóñ¢ð¤è¢è¤ù¢øù. ï£ñ¢ ê£î£óíñ£è â¿¶ñ¢ main ( ) function Ýù¶ Applet ¹«ó£è¤ó£ñ¢è÷¤ô¢ Þòé¢è£¶. âù«õ main( ) function â¿îð¢ðì¢ì£ô¢ ܶ Java Application Ýè¾ñ¢, init( ) function â¿îð¢ðì¢ì£ô¢ Üî¬ù Java Applet Ýè¾ñ¢ ï¦é¢è÷¢ ªè£÷¢÷ «õí¢´ñ¢. init( ) function -ù¤ù¢ à÷¢ âù¢ù «õí¢´ñ£ù£½ñ¢ â¿î¤è¢ ªè£÷¢÷ô£ñ¢ âù¢ðî¬ù»ñ¢ Üî¤ô¤¼ï¢¶ î£ù¢ Appletè÷¢ Þòé¢è Ýóñ¢ð¤è¢è¤ù¢øù âù¢ðî¬ù»ñ¢ 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. public void paint(Graphics g) { ... } Þï¢î function Ýù¶ init ( ) function Þòé¢è¤ò ð¤ø° Ü´î¢î£è Þò颰ñ¢. ñø¢Áñ¢ âð¢ªð£¿ªîô¢ô£ñ¢ Applet ޼袰ñ¢ Window -õ¤ô¢ ñ£ø¢Áñ¢ ï¤èö¢è¤ù¢ø«î£ Üî£õ¶ minimize, maximize ºîô¤òù ïì袰ñ¢ ªð£¿¶ñ¢ Þï¢î paint function Ýù¶ î£ù£è Þò颰è¤ù¢ø¶. ï¦é¢è÷¢ internet explorer -ô¢ Üî£õ¶ Browser- ô¢ Next ñø¢Áñ¢ Back ºîô¤ò Button -è¬÷ Ü¿î¢î¤ ºù¢«ù ޼袰ñ¢ Page - è÷¢ ªêù¢Áõ¤ì¢´ ñ¢¹ñ¢ ªð£¿¶ paint function Þ¼ð¢ð¤ù¢ ܶ î£ù£è Þò颰ñ¢. Þï¢î paint( ) function -ô¢ Graphics âù¢ªø£¼ Class -ù¢ Object Ýù¶ Parameter Ýè âð¢ªð£¿¶ñ¢ Þ¼è¢è¤ù¢ø¶. Þî¬ù ðòù¢ð´î¢î¤ Line, Rectangle, Circle, Text ºîô¤ò Graphics êñ¢ðï¢îð¢ðì¢ì¬õè¬÷ õ¬ó ªè£÷¢÷ º®»ñ¢. import java.awt.Graphics; âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. awt âù¢ð¶ abstract windowing toolkit âù¢ðîù¢ ²¼è¢èñ¢ ݰñ¢. Þï¢î awt Package -ù¢ à÷¢÷¤¼è¢°ñ¢ ðô «õÁ class è¬÷è¢ ªè£í¢´î£ù¢ Graphical User Interface (GUI) ¹«ó£è¤ó£ñ¢è¬÷ â¿î Þò½ñ¢. Üî£õ¶ Label, Textbox, Combobox, Radio Button, Checkbox, Frame , Menu ºîô£ù ܬù windows êñ¢ðï¢îð¢ðì¢ì ¹«ó£è¤ó£ñ¤é¢°è¬÷»ñ¢ awt Package -ô¢ à÷¢÷ class è÷¤¬ùè¢ ªè£í¢«ì à¼õ£è¢è Þò½ñ¢. Þï¢î𢹫ó£è¤ó£ñ¤ô¢ ï£ñ¢ awt Package -ô¢ Þ¼è¢è¤ù¢ø Graphics âù¢Âñ¢ Package ¬ù ñ좴«ñ
  • 45. 45 import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢.init( ) function -ù¤ô¢ resize (200, 150); âù¢ø function àð«ò£è¤è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Applet -ô¢ Size Ýù¶ 200 ñø¢Áñ¢ 150 Pixels âù¢ø Ü÷¾è÷¤ô¢ õó«õí¢´ñ¢ âùê¢ ªê£ô¢õîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. «ñ½ñ¢ paint( ) function -ù¤ô¢ gdrawString(‘Hello World!‘, 50,10); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 g âù¢ð¶ Graphics âù¢ø Class -ù¢ Object ݰñ¢. drawString Ýù¶ Graphics class -ù¢ Member function Ýùî£ô¢ Üî¬ù Þ颰 ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ º®è¤ù¢ø¶. Þîù¢ Íôñ¢ ïñ袰 «õí¢®ò text -è¬÷ °ø¤ð¢ð¤ì¢ì row ñø¢Áñ¢ Column è÷¤ô¢ Üî£õ¶ Pixel- è÷¤ô¢ ޼ display ªêò¢¶ ªè£÷¢÷ º®»ñ¢. Þð¢ªð£¿¶ ï£ñ¢ ïñ¶ ºîô¢ Java Applet -®¬ù â¿î¤ º®î¢î¤¼è¢ è¤ù¢«ø£ñ¢. Þù¤ Þî¬ù âõ¢õ£Á Þòè¢è «õí¢´ñ¢ âù¢ðî¬ùè¢ è£í¢«ð£ñ¢. ê£î£óíñ£è java ¹«ó£è¤ó£ñ¢è¬÷ âõ¢õ£Á Compile ªêò¢«õ£«ñ£ Ü«î«ð£ô¢ Þï¢î ¹«ó£è¤ó£ñ¤¬ù»ñ¢ 覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ô¢ compile ªêò¢¶è¢ ªè£÷¢Àé¢è÷¢. javac HelloworldApplet.java ¹«ó£è¤ó£ñ£ù¶ êó¤ò£è ޼袰ñ¢ ðì¢êî¢î¤ô¢ HelloworldApplet.Class âù¢ø file åù¢Á à¼õ£è¢è¤ò¤¼è¢°ñ.¢ Þð¢ªð£¿¶ ï£ñ¢ HelloworldApplet.class âù¢Âñ¢ Applet- ®¬ù Þò袰õîø¢è£è èì¢ì£òñ£è å¼ HTML file -ô¤¬ù à¼õ£è¢è¤ò£è «õí¢´ñ¢. Java Source code -®¬ù âï¢î Editor -ô¢ Type ªêò¢î¦ó¢è«÷£ Ü«î editor -ô¢ 覫ö ªè£´è¢ð¢ð좴÷¢÷ õó¤è¬÷𢠹î¤î£è Type ªêò¢¶ ªè£÷¢Àé¢è÷¢. <applet code="helloapplet.class" width=200 height=150> </applet> «ñ«ô ªè£´è¢èð¢ð좴÷¢÷õ£Á Type ªêò¢¶ º®î¢î¾ìù¢ plain ascii text format- ô¢ Üî£õ¶ ê£î£óí text file õ®õî¢î¤ô¢ myapplet.htm âù¢ø ªðòó¤¬ùè¢ ªè£´î¢¶ Save ªêò¢¶ ªè£÷¢Àé¢è÷¢. filename «õÁ ãî£õî£è Ãì ªè£´î¢¶è¢ ªè£÷¢÷ô£ñ¢. Ýù£ô¢ extension Ýù¶ .htm Üô¢ô¶ .html âù¢Á ªè£´è¢èð¢ðì «õí¢´ñ¢. àé¢èÀ袰 HTML ªîó¤ï¢î¤¼è¢°ñ¢ âù¢Á 郎ùè¢è¤ù¢«øù¢. Þô¢¬ô âù¢ø£½ñ¢ ðóõ£ò¤ô¢¬ô. Þï¢î HTML ªñ£ö¤ò¤ô¢ åõ¢ªõ£¼ °ø¤ð¢ð¤ì¢ì «õ¬ôèò¤¬ù»ñ¢ ªêò¢õîø¢è¢ªèù¢Á îù¤ò£è tagâù¢ø¬öè¢èð¢ð´ñ¢ èì¢ì¬÷è÷¢ Þ¼è¢è¤ù¢øù. Þõø¢ø¤ô¢ Applet-è¬÷ Browser-ô¢ Þò袰õîø¢° ðòù¢ð´ñ¢ èì¢ì¬÷ò£è <appletcode...>âù¢Âñ¢
  • 46. 46 tagèì¢ì¬÷ð¢ ðòù¢ð´è¤ù¢ø¶. Þï¢î èì¢ì¬÷ò¤ô¢ Helloworld.Class âù¢Á ï£ñ¢ à¼õ£è¢è¤ò Java Class file ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Height ñø¢Áñ¢ Width âù¢Á ªè£´è¢èð¢ð좴 Üõø¢ø¤øø° ñî¤ð¢¹è¬÷ ªè£´è¢èð¢ð좮¼ð¢ð¬î»ñ¢ èõù¤»é¢è÷¢. Þõø¢ø¤è¢° ñî¤ð¢¹è¬÷ èì¢ì£òñ£è ªè£´è¢è «õí¢´ñ¢. ãªùù¤ô¢ Þ¬õ«ò Applet -ù¢ ï¦÷, Üèôé¢è¬÷ º®¾ ªêò¢è¤ù¢øù. ï¦é¢è÷¢ Applet ¹«ó£è¤ó£ñ¢è¬÷ Java -õ¤ô¢ à¼õ£è¢è¤ù£ô¢ Üõø¢¬ø Þò袰õîø¢° èì¢ì£òñ£è HTML file -è¬÷ à¼õ£è¢è¤ Üõø¢ø¤ô¢ <applet code=‘HelloworldApplet.calss’ width=200 Height=150> </applet> âù¢ø õ¬èò¤ô¢ èì¢ì¬÷è¬÷ â¿î «õí¢´ñ¢. Þù¤ Applet -è¬÷ âõ¢õ£Á Þò袰õ¶ âù¢Á ð£ó¢ð¢«ð£ñ¢. Java Developement Kit (JDK) -ô¢ Applet Viewer â¿î¤ò tool Þ¼è¢è¤ù¢ø¶. Þî¬ùð¢ ðòù¢ð´î¢î¤ ï£ñ¢ â¿î¤ò Applet -è÷¢ êó¤ò£è Þò颰è¤ù¢øî£ âù¢ðî¬ùê¢ êó¤ð£ó¢î¢¶è¢ ªè£÷¢÷ô£ñ¢. 覫ö ªè£´è¢èð¢ ð좴÷¢÷¶ «ð£ô¢ ªè£´î¢¶ Applet Viewer -ø¤¬ù Þò袰é¢è÷¢. C:JDK1.2> appletviewer myapplet.Htm Þð¢ªð£¿¶ windows -ù¢ à÷¢ ªêù¢Á 覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ô¢ AppletViewer Þò颰ñ¢. ÜîÂ÷¢ ï£ñ¢ â¿î¤ò Applet ¹«ó£è¤ó£ñ¢ Þò颰õ¬î»ñ¢ è£íô£ñ¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 3.1
  • 47. 47 appletviewer -ø¤¬ùî¢ îõ¤ó¢î¢¶ ï£ñ¢ «ïó®ò£è«õ Browser -è÷¤½ñ¢ Applet -è¬÷ Þòè¢è¤è¢ ªè£÷¢÷ô£ñ¢. â´î¢¶è¢è£ì¢ì£è InternetExplorerâÂñ¢ Browser ø¤¬ù Windows -ô¢ Open ªêò¢¶ ªè£÷¢Àé¢è÷¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 3.2 Þï¢î Internet Exlorer Browser Ýù¶ open Ýè¤ò¾ìù¢ Üî¤ô¢ Þ¼è¢è¤ù¢ø Address Line-ô¢ ïñ¢º¬ìò HTMLfile âï¢î folder-ô¢ Þ¼è¢è¤ù¢ø«î£ Üî¬ùê¢ êó¤ò£è Ãø¤ file -ù¢ ªðòó¤¬ùè¢ ªè£´î¢«î£«ñò£ù£ô¢ ïñ¢º¬ìò Applet Ýù¶ Browse -ô¢ Þò颰ñ¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 3.3
  • 48. 48 «ñ«ô à÷¢÷ ðìî¢î¤ô¢ Þ¼ð¢ð¶ «ð£ô¢ àé¢èÀ¬ìò Applet êó¤ò£è Þò颰è¤ù¢øî£ âù¢ðî¬ùê¢ êó¤ð£ó¢î¢¶è¢ ªè£÷¢Àé¢è÷¢. Þð¢ªð£¿¶ ï£ñ¢ ïñ¢º ¬ìò ºîô¢ Java Applet -®¬ù ªõø¢ø¤èóñ£è Þòè¢è¤ º®î¢¶ Þ¼è¢è¤ù¢«ø£ñ¢. Abstract windowing toolkit (awt) Windows Operating System -î¢î¤ô¢ ï£ñ¢ ðòù¢ð´î¢¶ñ¢ ܬù ªñù¢ªð£¼÷¢ è÷¤½ñ¢ Textbox, Combobox, Radio Button, Push Button, Menu, Window ºîô£ù GUI Component-è¬÷ ªè£í¢´ ޼袰ñ¢. Þî¢î¬è«ò Component- è¬÷ ï£ñ¢ Java ¹«ó£è¤ó£ñ¤ô¢ â¿¶õîø¢° Þï¢î Abstract Windowing ToolKit (AWT) âù¢Âñ¢ Package ðòù¢ð´è¤ù¢ø¶. Þù¤ Þï¢î Component -è¬÷ ªè£í¢´ ê¤ô Applet -è¬÷ à¼õ£è¢èô£ñ¢. Listing 3.2Listing 3.2Listing 3.2Listing 3.2Listing 3.2 import java.awt.*; import java.applet.Applet; public class student extends Applet { Label lbl_sname=new Label(“Student Name”); TextField txt_sname=new TextField(20); Label lbl_course=new Label(“Course Name”); Choice cho_course=new Choice(); Label lbl_sex=new Label(“Sex”); CheckboxGroup sex_grp=new CheckboxGroup(); Checkbox male=new Checkbox(“Male”,sex_grp,true); Checkbox female=new Checkbox(“Female”,sex_grp,false); Label lbl_time=new Label(“Time Prefered”); List lst_time=new List(); Label lbl_mop=new Label(“Mode Of Payment (Net/Install)”); Checkbox chk_mop=new Checkbox(); GridLayout abc=new GridLayout(5,2); Panel sex_pan=new Panel();
  • 49. 49 public void init() { sex_pan.add(male); sex_pan.add(female); cho_course.addItem(“Java”); cho_course.addItem(“Visual Basic”); cho_course.addItem(“HTML”); cho_course.addItem(“XML”); lst_time.addItem(“Moring”); lst_time.addItem(“Afternoon”); lst_time.addItem(“Evening”); lst_time.addItem(“Night”); setLayout(abc); add(lbl_sname); add(txt_sname); add(lbl_course); add(cho_course); add(lbl_sex); add(sex_pan); add(lbl_time); add(lst_time); add(lbl_mop); add(chk_mop); } } Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ ºîô¤ô¢ ï£ñ¢ awt ñø¢Áñ¢ Applet Ýè¤ò Package - è¬÷ import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢.
  • 50. 50 public class student extends Applet âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ student class Ýù¶ å¼ Applet Ýè ªêòô¢ð´ñ¢ñ£Á Inheritance ªêò¢òð¢ð좮¼è¢è¤ù¢ø¶. Label lbl_sname = new Label(‘Student Name’); TextField txt_sname = new TextField(20); âù¢Á ªè£´è¢èð¢ð좮ò¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 Label ñø¢Áñ¢ TextField ºîô¤òù awt -ò¤ô¢ Þ¼è¢è¤ù¢ø class -è÷¢ ݰñ¢. new operator -ø¤¬ùð¢ ðòù¢ð´î¢î¤ Þï¢î class -èÀ袰ø¤ò Object ´è¬÷ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. lbl_sname ñø¢Áñ¢ txt_sname Ýè¤òù º¬ø«ò Label ñø¢Áñ¢ TextField Ýè¤òõø¢ø¤ù¢ Object -´è÷¢ ݰñ¢. Label class -¬ìò Object -®¬ùð¢ ðòù¢ð´î¢î¤ ïñ袰 «õí¢®ò Text -è¬÷ display ªêò¢¶ ªè£÷¢÷ô£ñ¢. Ü«î«ð£ô¢ TextField class-ù¢ Object -¬ùð¢ ðòù¢ð´î¢î¤ ïñ袰 «õí¢®ò ñî¤ð¢¹è¬÷ Keyboard -®ô¢ ޼ à÷¢÷¦´è÷£è𢠪ðø¢Áè¢ ªè£÷¢÷ô£ñ¢. ï£ñ¢ ܬìð¢¹è¢ °ø¤è¢°÷¢ ªè£´è¢è¤ù¢ø ñî¤ð¢¹è¬÷ Üï¢îï¢î class-è÷¤ù¢ Constructor function -ø¢°ê¢ ªêô¢½ñ¢ Parameter ñî¤ð¢¹è÷¢ ݰñ¢. ܴ Choice cho_course = new choice( ); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Combo Box ¬ù ªè£í¢´ õ¼õîø¢è¢°ó¤ò class ݰñ¢. Þï¢î cho_course âù¢Âñ¢ Choice -ô¢ ïñ袰 «õí¢®ò Item -è÷¢ õó «õí¢´ñ¢ Üô¢ôõ£? Üîø¢° Choice class -ù¢ à÷¢ addItem âù¢Âñ¢ method åù¢Á à÷¢÷¶. Üî¬ùð¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. init( ) function -ù¤ô¢ cho_course (‘Java’); cho_course(‘Visual Basic’); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¬õ ¹«ó£è¤ó£ñ¢ Þò颰ñ¢ ªð£¿¶ Combo box-ù¢ à÷¢ õõ¤´ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ܴ CheckboxGroup sex_grp = new CheckboxGroup ( ); Checkbox male = new Checkbox (‘Male’, sex_grp, true); Checkbox Female = new Checkbox (‘Female’, sex_grp, false); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»éè÷¢. ªð£¶õ£è Checkbox âù¢ð¶ Ýñ¢ / Þô¢¬ô ºîô¤ò Þóí¢®ô¢ ãî£õ¶ åù¢ø¤¬ù ªîó¤¾ ªêò¢»ñ¢ð®ò£è ܬñï¢î¤¼è¢°ñ¢ Object -è¬÷ à¼õ£è¢°õîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. Þ«î
  • 51. 51 Checkbox class àìù¢ CheckboxGroup âù¢Âñ¢ class -¬ù Þ¬í袰ñ¢ ªð£¿¶ ïñ袰 Radio Button-è÷¢ à¼õ£è¢è¤ù¢øù. Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ Male, Female Ýè¤ò Þóí¢´ Radio Button -è¬÷ à¼õ£è¢°ñ¢ ªð£¼ì¢´ sex_grp âù¢Âñ¢ CheckboxGroup à¼õ£è¢èð¢ð좴 Üî¬ùè¢ ªè£í¢´ Þóí¢´ Checkbox Object- è÷¢ à¼õ£è¢èð¢ ð좴÷¢÷ù. Þõø¢ø¤ô¢ åù¢ø¤ô¢ True âù¢Áñ¢ ñø¢ªø£ù¢ø¤ô¢ false âù¢Âñ¢ ªè£´è¢èð¢ð좮´÷¢÷¶. True âù¢Á ªè£´î¢î£ô¢ Üï¢î Radio Button Ýù£¶ Selection -ù¤ô¢ ޼袰ñ¢ âù¢Á𢠪ð£¼÷¢. ܴ List lst_time = new List( ); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Listitem âù¢Áñ¢ õ¬èò¤¬ùê¢ ê£ó¢ï¢î Object -è¬÷ à¼õ£è¢° õîø¢è¢è£èð¢ ðòù¢ð´è¤ù¢ø¶. Þï¢î õ¬è Object -è÷¤½ñ¢ «õí¢®ò Item - è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢÷ addItem method Ýù¶ ðòù¢ð´è¤ù¢ø¶. init ( ) function ù¤ô¢ lst_time.addItem(‘Morning’); lst_time.addItem(‘Afternoon’) ; âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶õ¬ó ï£ñ¢ Label, TextField, Choice, Checkbox, CheckboxGroup ºîô¤ò awt class -è¬÷ð¢ ðòù¢ð´î¢î¤ âõ¢õ£Á object -è¬÷ à¼õ£è¢°õ¶ âù¢Á ð£ó¢î¢«î£ñ¢. Þõ¢õ£Á Object -è÷¢ à¼õ£è¢èð¢ ðì¢ì¾ì«ù«ò ܬõ Applet Screen -ô¢ ªîó¤ï¢¶ õ¤ì£¶. Üõø¢¬ø ï£ñ¢ º¬øò£è Applet -´ìù¢ Þ¬íè¢è «õí¢´ñ¢. Þîø¢° add( ) âù¢Âñ¢ function ðòù¢ ð´è¤ù¢ø¶. ï£ñ¢ âî¢î¬ù Object -è¬÷ à¼õ£è¢è¤ù£½ñ¢ ܬõ Screen -ô¢ ªîó¤ò «õí¢´ñ¢ âù¢ø£ô¢ Üîø¢° add function -¬ù è좮òñ£è ðòù¢ð´î¢î «õí¢´ñ¢ âù¢ 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ïñ¢º¬ìò ¹«ó£è¤ó£ñ¤ô¢ add(1bs_sname); add(txt_sname); add(lbl_course); add(cho_course); âù¢Á à¼õ£è¢èð¢ðì¢ì ܬù object -èÀñ¢ add function -ù¤ù¢ õö¤ò£è º¬øò£è Applet -®ù¢ à÷¢ Þ¬íè¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þù¢Âñ¢ Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ Þóí¢´ õ¤êòé¢è÷¢ èõù¤è¢èð¢ðì¢ì «õí¢®ò¤¼è¢è¤ù¢øù. ܬõ GridLayout ñø¢Áñ¢ Panel Ýè¤ò¬õè÷£°ñ¢. ªð£¶õ£è Java -õ¤ô¢ Object -è¬÷ º¬øò£è align ªêò¢õîø¢è¢ªèù¢Á Layout âù¢ø¬öè¢èð¢ð´ñ¢ å¼ Ü¬ñ𢹠޼è¢è¤ù¢ø¶. 5 õ¬èò£ù Layout - è÷¢ Java õ¤ô¢ Þ¼è¢è¤ù¢øù. Üõø¢ø¤ô¢ åù¢Á î£ù¢ Þï¢î GridLayout ݰñ¢.
  • 52. 52 Þï¢î ¹«ó£è¤ó£ñ¤ô¢ GridLayout abc = new GridLayout(5,2); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î Layout -®¬ùð¢ ðòù¢ð´î¢î¤ ïñ¢º¬ìò ¹«ó£è¤ó£ñ¤ô¢ âî¢î¬ù row ñø¢Áñ¢ column -è÷¢ Þ¼è¢è «õí¢´ñ¢ âù¢ðî¬ù õ¬óò¤¼è¢èô£ñ¢. Üîù¢ð® Þ颰 5 row -èÀñ¢ 2 Column -èÀñ¢ õ¼ñ£¼ õ®õ¬ñè¢èð ¢ð좮¼è¢è¤ù¢ø¶. Þ¶ «ð£ù¢Á à¼õ£è¢èð¢ð´ñ¢ Layout -è÷¢Effect Ýè «õí¢´ñ¢ âù¢ø£ô¢ Üî£õ¶ Þòé¢è «õí¢´ñ¢ âù¢ø£ô¢ SetLayout( ) âù¢Âñ¢ function -¬ù ðòù¢ð´î¢î¤ âï¢î Layout Ýù¶ Þòé¢è «õí¢´ñ¢ âù¢Á ªê£ô¢ô «õí¢´ñ¢. Üîù¢ð® init( ) function -ù¤ô¢ SetLayout(abc) âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î function ªè£´è¢èð¢ðì¢ì ð¤ù¢î£ù¢ add function-è÷¢ ªè£´è¢èð¢ð좴÷¢÷ù âù¢ðî¬ù èõù¤»é¢è÷¢. Üî£õ¶ Object ´è÷¢ Screen -ô¢ ªîó¤»ñ¢ ªð£¿¶ âîï¢î Object -è¬÷ ºîô¤ô¢ add ªêò¢è¤ù¢«ø£«ñ£ Üï¢î õó¤¬êò¤ô¢ 5 Row -è÷¤ô¢,å¼ Row -õ¤ø¢° 2 Column-è÷¢ âù¢ø õ¤è¤î¢î¤ô¢ Align Ýè¤õ¤´ñ¢. Þ¼î¤ò£è Panel sex_Pan = new Panel ( ) âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ ðø¢ø¤è¢ è£í¢«ð£ñ¢. Panel-è÷¢ âùð¢ð´¬õ ñ¤è¾ñ¢ ðòÂ÷¢÷ Object-è÷¢ ݰñ¢. å¼ Panel -ù¢ à÷¢ ðô¢«õÁ Object -è¬÷ Group ªêò¢¶ ªè£÷¢÷ô£ñ¢. Þõ¢õ£Á ðô¢«õÁ Object -è¬÷ ï£ñ¢ å¼ Panel Object -®ù¢ à÷¢ Group ªêò¢¶ õ¤ì¢ì ð¤ø° Üï¢î Panel -¬ù ñ좴ñ¢ ï£ñ¢ Þòè¢è¤ù£ô¢ «ð£¶ñ£ù¶. Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ïñ¢º¬ìò ܬù Object -´èÀñ¢ Þóí¢´ Þóí¢´ Column -è÷£è õó¤¬êò£è Align Ýè «õí¢®ò¤¼è¢è¤ù¢ø¶. Üõ¢õ£Á ޼袰ñ¢ ªð£¿¶ Sex âù¢Á display ªêò¢õîø¢°ø¤ò Label Object-ñ¢ Ü«î «ïóî¢î¤ô¢ Male ñø¢Áñ¢ Female Ýè¤ò Þóí¢´ Radio Button -èÀñ¢ Ýè «êó¢î¢¶ ªñ£î¢îñ¢ Íù¢Á Object- èÀñ¢ å«ó row õ¤ù¤ô¢ Align Ýè «õí¢´ñ¢. Ýù£ô¢ ïñ¢º¬ìò GridLayout º¬øò¤«ô£ 5, 2 âù¢ø õ¬èò¤ô¢ å«ó column -î¢î¤ô¢ õó º®ò£¶. âù«õ ï£ñ¢ Male ñø¢Áñ¢ Female Ýè¤ò Þóí¢´ Object -è¬÷»ñ¢ sex_pan âù¢Âñ¢ Panel åù¢ø¤¬ù à¼õ£è¢è¤ ÜîÂ÷¢ add ªêò¢¶ õ¤´è¤ù¢«ø£ñ¢. Üî£õ¶ sex_pan.add(Female); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þõ¢õ£Á Panel à¼õ£è¢è¤ò ð¤ù¢¹ Üï¢î Panel -¬ù ñ좴ñ¢ add ªêò¢¶ õ¤ì¢ì£ô¢ «ð£¶ñ£ù¶. âù«õî£ù¢ add(sex_pan); âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î º¿ ¹«ó£è¤ó£ñ¤¬ù»ñ¢ Type ªêò¢¶ õ¤ì¢´ student.java âù¢Á ªðòó¤ì¢´ ð¤ù¢ ºù¢ùó¢ °ø¤ð¢ð¤ì¢ì º¬øè÷¤ô¢ Compile ªêò¢¶ õ¤´é¢è÷¢. ܴ student.htm âù¢Âñ¢ file- ¬ù à¼õ£è¢è¤ Üî¤ô¢ ð¤ù¢õ¼ñ¢ õó¤è¬÷
  • 53. 53 Type ªè£÷¢Àé¢è÷¢. <applet code="student.class" width=500 height=200> </applet> Þî¬ù appletviewer student.htm âù¢Á ªè£´î¢¶ Þòè¢è¤ð¢ ð£ó¢ð¦ó¢è÷£ù£ô¢ 覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ù¢Á Þò颰ñ¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 3.4 Listing 3.3 import java.awt.*; import java.awt.event.*; import java.applet.*; public class textsum extends Applet implements ActionListener { TextField x,y,tot; public void init() { Label xp=new Label(“X:”,Label.RIGHT); Label yp=new Label(“Y:”,Label.RIGHT);
  • 54. 54 Label totp=new Label(“Total:”,Label.RIGHT); x=new TextField(5); y=new TextField(5); tot=new TextField(10); add(xp); add(x); add(yp); add(y); add(totp); add(tot); x.addActionListener(this); y.addActionListener(this); tot.addActionListener(this); } public void actionPerformed(ActionEvent ae) { int a,b,c; a=Integer.parseInt(x.getText()); b=Integer.parseInt(y.getText()); c=a+b; tot.setText(“” + c); } } Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ x, y, tot âù¢Á Íù¢Á TextField object -è¬÷ à¼õ£è¢è¤ Üõø¢Á÷¢x ñø¢Áñ¢ y Ýè¤ò Object -è÷¤ô¢ Type ªêò¢òð¢ð´ñ¢ ñî¤ð¢¹è¬÷ Ã좮 tot âù¢Âñ¢ Object -ù¢ à÷¢ «ð£´ñ£Á â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. ï£ñ¢ x ñø¢Áñ¢ y Ýè¤ò Object -è÷¤ô¢ ñî¤ð¢¹è¬÷ Type ªêò¢î ð¤ø° Enter Key ò¤¬ù Ü¿î¢î¤ò¾ìù¢ ïñ袰 Calculation ïìè¢è «õí¢´ñ¢ Üô¢ôõ£? Üîø¢è¢è£è ï£ñ¢ implements ActionListener âù¢Âñ¢ õ£è¢è¤òî¢î¤¬ù class-¬ù â¿¶ñ¢ Þìî¢î¤ù¤ô¢ Þ¬íî¢î¤¼è¢è¤ù¢«ø£ñ¢. Üî£õ¶ public class textsum extends Applet implements ActionListener âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. ActionListener âù¢ð¶ å¼ Interface ݰñ¢. Þ¶ «ð£ù¢Á 郎øò Interface -è÷¢ Þ¼è¢è¤ù¢øù. ïñ袰
  • 55. 55 «õí¢®ò Interface-¬ùð¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ implements âù¢Âñ¢ èì¢ì¬÷ ðòù¢ð´è¤ù¢ø¶. TextField x,y,tot; âù¢Á init( ) function-ø¢° «ñô¢ Global Ýè âù¢Á Íù¢Á Object ´è¬÷ define ªêò¢¶ ¬õî¢î¤¼è¢è¤ù¢«ø£ñ¢. ãªùù¤ô¢ Þõ¢õ£Á Global Ýè â¿¶ñ¢ ªð£¿¶ textsum class -¬ìò ܬù method è÷¤½ñ¢ Üõø¢¬øð¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. init( ) function -ù¤ô¢ xp, yb, totp âù¢ø ªðòó¢è÷¤ô¢ Íù¢Á Label Object -è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. ܬõ Right align Ýõîø¢è¢è£è Label.RIGHT âù¢Á ªè£´è¢èð¢ð좮¼è¢è¤ù¢ø¶. x, y, tot Ýè¤ò object-è÷¢ new operator -ø¤¬ùð¢ ðòù¢ð´î¢î¤ à¼õ£è¢èð ¢ðì¢ìð¤ù¢ ܬõ add function Íôñ¢ õó¤¬êò£è Applet -®Â÷¢ add ªêò¢òð¢ ð좮¼è¢è¤ù¢øù. ï£ñ¢ Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ºè¢è¤òñ£è èõù¤è¢è «õí¢®ò¶. x.addActionListener(this); y.addActionListener(this); tot.addActionListener(this); âù¢Âñ¢ õó¤è¬÷î¢î£ù¢. Üî£õ¶ Þï¢î addActionListener( ) âù¢Âñ¢ function -ä ªè£´ð¢ðîù¢ Íôñ¢, âð¢ªð£¿¶ªîô¢ô£ñ¢ ï£ñ¢ Þï¢î Object ´è÷¤ô¢ Enter Key ò¤¬ù ܿè¤ù¢«ø£«ñ£ Üð¢ªð£¿ªîô¢ô£ñ¢ actioPerformed âù¢Âñ¢ event Ýù¶ î£ù£è Þòé¢è¤õ¤´ñ¢. Public void actionperformed(ActionEvent ae) âù¢ø õ®õ¤ô¢ ޼袰ñ¢ Þï¢î Event Ýù¶ ActionListener âù¢Âñ¢ Interface -¬ù Þï¢î ¹«ó£è¤ó£ñ¤ô¢ implement ªêò¢î¤¼ð¢ðîù£ô¢ î£ù¢ ðòù¢ð´î¢îð¢ð´è¤ù¢ø¶ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. Þï¢î actionperformed( ) function -ô¢ ï£ñ¢ a, b, c âù¢Á Íù¢Á integer variable-è¬÷ int data type -ù¤ô¢ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î variable è÷¤ô¢ ï£ñ¢ x, y TexField è÷¤ô¢ Type ªêò¢î ñî¤ð¢¹è¬÷ â´î¢¶ð¢ «ð£´è¤ù¢«ø£ñ¢. a = Integer.ParseInt(x.getText ( )); b = Integer.ParseInt(y.getText ( )); âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þî¤ô¢ getText âù¢ð¶ TextField class -ù¢ member function ݰñ¢. Þî¬ùð¢ ðòù¢ð´î¢¶ñ¢ ªð£¿¶ ï£ñ¢ âù¢ù ñî¤ð¢¹è¬÷ TextField-è÷¤ù¢ à÷¢ Type ªêò¢î¤¼è¢è¤ù¢«ø£«ñ£ Üõø¢¬øð¢
  • 56. 56 ªðø¢Á袪è£÷¢÷ô£ñ¢. Þï¢î º¬øò¤ô¢ ï£ñ¢ TextField -è÷¤ô¢ ޼袰ñ¢ ñî¤ð¢¹è¬÷ ªð¼ñ¢ªð£¿¶ ܬõ String data type Ýè ޼袰ñ¢. Þõø¢¬ø int data type Ýè ñ£ø¢ø¤ù£ô¢ î£ù¢ ïñ袰 Calculation è¬÷ê¢ ªêò¢ò º®»ñ£îô£ô¢ Integer.ParseInt âù¢Âñ¢ function ù¤¬ùð¢ ðòù¢ð´î¢î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Integer.ParseInt function Ýù¶ String õ®õ¤ô¢ ޼袰ñ¢ Number è¬÷ Integer data type Ýè ñ£ø¢ø¤è¢ ªè£´î¢¶õ¤´ñ¢. ܴ c = a + b; âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ x , y Object -®ô¢ à÷¢÷ ñî¤ð¢¹è¬÷ Ã좮 c âÂñ¢ variable-ô¢ «ð£ì¢´ õ¤ì¢«ì£ñ¢. Þð¢ªð£¿¶ Þï¢î c ò¤ô¢ à÷¢÷ ñî¤ð¢ð¤¬ù tot âù¢Âñ¢ TextField -ù¢ à÷¢ «ð£ì «õí¢´ñ¢ Üô¢ôõ£? Üîø¢° TextField class -ô¢ à÷¢÷ setText âù¢Âñ¢ function ðòù¢ð´î¢îð¢ð´è¤ù¢ø¶. tot.setText (“” + c); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. SetText function -ù¤ù¢ Íôñ¢ String data è¬÷ ñ좴«ñ â¿î º®»ñ£îô£ô¢ c ò¤ô¢ à÷¢÷ Integer ñî¤ð¢¹è¬÷ type cast ªêò¢õîø¢è¢è£è “” + c âù¢Á String -°ìù¢ «êó¢î¢¶è¢ ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î𢠹«ó£è¤ó£ñ¤¬ù compile ªêò¢¶ 覫ö ªè£´è¢èð¢ð좴÷¢÷õ£Á à÷¢÷ õó¤è¬÷ð¢ ðòù¢ð´î¢î¤ HTML file åù¢ø¤¬ù à¼õ£è¢è¤ Üî¬ù Þòè¢è¤ð¢ ð£¼é¢è÷¢. <applet code="textsum.class" width=500 height=400> </applet>
  • 57. 57 ðì‹ðì‹ðì‹ðì‹ðì‹ 3.5 Listing 3.4 import java.awt.*; import java.applet.*; import java.util.*; public class border extends Applet { Button top = new Button(“Top”); Button bottom = new Button(“Bottom”); Button right = new Button(“Right”); Button left = new Button(“Left”); String msg=”Java is intresting.......”; TextArea hi = new TextArea(msg); public void init()
  • 58. 58 { BorderLayout abc = new BorderLayout(); setLayout(abc); add(top,BorderLayout.NORTH); add(bottom,BorderLayout.SOUTH); add(right,BorderLayout.WEST); add(left,BorderLayout.EAST); add(hi,BorderLayout.CENTER); } public boolean action(Event evt,Object arg) { if(evt.target instanceof Button) { String lab=(String)arg; if (lab.equals(“Top”)) { hi.setText(“I am in Top”); } if (lab.equals(“Bottom”)) { hi.setText(“I am in Bottom”); } if (lab.equals(“Left”)) { hi.setText(“I am in Left”); } if (lab.equals(“Right”)) { hi.setText(“I am in Right”); } } return true; }
  • 59. 59 } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ Push Button âù¢Á ܬöè¢èð¢ðìè¢Ã®ò Button -è¬÷ âõ¢õ£Á à¼õ£è¢è¤ ðòù¢ð´î¢¶õ¶ âù¢Á è£í¢è¤ù¢«ø£ñ¢. Button top = new Button (“Top”); âù¢ø õ¬èò¤ô¢ Button âù¢Âñ¢ class -¬ùð¢ ðòù¢ð´î¢î¤ Object -è÷¢ à¼õ£è¢èð¢ ð좮¼ð¢ð¬îè¢ è£í¢è¤ù¢ø¦ó¢è÷¢. top, bottom, right, left âù¢Á ï£ù¢° Button è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. String msg = “Java is interesting ....”; Text rea hi = new TextArea(msg); âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ ï£ñ¢ å¼ TextArea object -¬ù à¼õ£è¢è¤ ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î TextArea-è÷¢ ðô õó¤è¬÷ ªè£í¢ì Text Paragraph - è¬÷ à÷¢÷¦´è÷£è𢠪ð¼õîø¢°ñ¢, display ªêò¢õîø¢°ñ¢ ðòù¢ð´è¤ù¢øù. Object-è¬÷ à¼õ£è¢è¤ò ð¤ù¢ init( ) function -ô¢ BorderLayout abc = new BorderLayout( ); SetLayout (abc); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Java-õ¤ô¢ ޼袰ñ¢ 5 Layout õ¬èè÷¤ô¢ åù¢ø£°ñ¢. Þï¢î BorderLayout -¬ùð¢ ðòù¢ð´î¢î¤ ï¦é¢è÷¢ Object- è¬÷ Top, Bottom, Left, Right, Center âù¢ø ä ͬôè÷¢è÷¤ô¢ Align ªêò¢¶ ªè£÷¢÷ô£ñ¢. Object -è¬÷ Applet -ô¢ add ªêò¢»ñ¢ ªð£¿¶, add(top,BorderLayout.NORTH); add(bottom,BorderLayout.SOUTH); âù¢ø õ¬èò¤ô¢ âï¢î Þìî¢î¤ô¢ ܬõ õó «õí¢´ñ¢ âù¢Á °ø¤ð¢ð¤´õ¬îè¢ èõù¤»é¢è÷¢. Þð¢ªð£¿¶ ï£ñ¢ Button -è¬÷ à¼õ£è¢è¤ Üõø¢¬ø Applet -½ñ¢ add ªêò¢¶ õ¤ì¢«ì£ñ¢. ¹«ó£è¤ó£ñ¢ Þò颰ñ¢ ªð£¿¶ ï£ñ¢ Üï¢î Button è¬÷ ܿ«õ£«ñò£ù£ô¢ (Press) âù¢ù ïìè¢è «õí¢´ñ¢ âù¢ðîø¢°ø¤ò ¹«ó£è¤ó£ñ¤¬ù â¿î «õí¢´ñ¢ Üô¢ôõ£? Üîø¢°, public boolean action(Event evt, object arg) âù¢ø event åù¢Á â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î action Event Ýù¶ âð¢ªð£¿ªîô¢ô£ñ¢ Button,Choice ºîô¤ò Class è÷¤ù¢ Object-è¬÷ Press ðù¢Âñ¢«ð£¶ñ¢ î£ù£è Þòé¢è¤õ¤´ñ¢. Þï¢î actionEvent-¬ùð¢ ðòù¢ ð´î¢¶õîø¢° âï¢îªõ£Á interface -»ñ¢ Implement ªêò¢òî¬õò¤ô¢¬ô âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. Þòø¢è¢¬èò£è«õ Event ñø¢Áñ¢ Object âù¢ø Þóí¢´ class è÷¤ù¢ variable è÷¢ parameter
  • 60. 60 Þ¼ð¢ðîù£ô¢, Þõø¢ø¤ô¢ ï£ñ¢ âï¢î Button,Choiceºîô¤ò Object-¬ù Click ªêò¢è¤ù¢«ø£ñ¢ «ð£ù¢ø îèõô¢è÷¢ õ õ¤´è¤ù¢øù. if(evt.target instanceOf Button) âù¢ø õó¤ò¤¬ù èõù¤»é¢è÷¢ Þ颰 instanceOf âù¢ð¶ Java -õ¤ô¢ ޼袰ñ¢ å¼ Keyword ݰñ¢. Þî¬ùð¢ ðòù¢ð´î¢î¤ å¼ variable Ýù¶ âï¢î class- ä ê£ó¢ï¢¶ Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢. ï£ñ¢ Button object åù¢ø¤¬ù click ªêò¢î¤¼ï¢î£ô¢ Þï¢î if condition ù¤ù¢ à÷¢ ï£ñ¢ ªêô¢ô º®»ñ¢. Üõ¢õ£Á ªêô¢½ñ¢ ªð£¿¶ arg âù¢Âñ¢ parameter variable -ô¢ ï£ñ¢ click ªêò¢î Button -ù¤ù¢ caption Ýù¶ ޼袰ñ¢ ܬî String õ¬èò£ùî£è cast ªêò¢¶ å¼ String varible -ô¢ «ð£´è¤ù¢«ø£ñ¢. Þï¢î String variable -ù¢ à÷¢ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù equals âù¢Âñ¢ function -ä ¬õî¢¶è¢ èí¢´ð¤®î¢¶ Üîù¢ Ü®ð¢ð¬ìò¤ô¢ âï¢î Button- ù¤¬ù click ªêò¢«î£ñ¢ âù¢ðî¬ù Üø¤òô£ñ¢. Þ颰 åõ¢ªõ£¼ Button Ýè click ªêò¢î£ô¢, âù¢ù ªêò¢ò «õí¢´ñ¢ âù¢Á îù¤î¢îù¤ò£è ¹«ó£è¤ó£ñ¢ â¿îð¢ð좴÷¢÷¶. Þ¼î¤ò£è return true; âù¢Á ªè£´è¢èð¢ð좴÷¢÷¬îè¢ èõù¤»é¢è÷¢. Þî¬ù èí¢®ð¢ð£è ªè´è¢è «õù¢´ñ¢. ãªùù¤ô¢ boolean data type-¬ù return data type Ýè ªè£í¢´÷¢÷¶. trueâù¢Á ªè£´î¢î£ô¢event ªõø¢ø¤èóñ£è Þòé¢è¤ò¶ âù¢Á ªð£¼÷¢. Þ颰 False âù¢Áñ¢ ªè£´è¢èô£ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. Üõ¢õ£ªøù¤ô¢ event ªõø¢ø¤èóñ£è Þòé¢èõ¤ô¢¬ô âù¢Á ªð£¼÷¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 3.6
  • 61. 61 Listing 3.5 import java.awt.*; import java.applet.Applet; public class gridb extends Applet { protected void addGridBagButton(String buttonName, GridBagLayout gb,GridBagConstraints gbc) { Button button=new Button(buttonName); gb.setConstraints(button,gbc); add(button); } public void init() { resize(400,300); GridBagLayout gridbag=new GridBagLayout(); GridBagConstraints c=new GridBagConstraints(); setLayout(gridbag); c.fill=GridBagConstraints.BOTH; c.weightx=1.0; addGridBagButton(“Button1”,gridbag,c); c.gridwidth=GridBagConstraints.REMAINDER; addGridBagButton(“Button2”,gridbag,c); addGridBagButton(“Button3”,gridbag,c); c.weighty=1.0; addGridBagButton(“Button4”,gridbag,c); c.gridwidth=1; c.weighty=0.0; addGridBagButton(“Button5”,gridbag,c); c.weightx=0.0; addGridBagButton(“Button6”,gridbag,c); c.gridwidth=GridBagConstraints.REMAINDER;
  • 62. 62 addGridBagButton(“Button7”,gridbag,c); c.gridwidth=1; c.gridheight=2; c.weighty=1.5; addGridBagButton(“Button8”,gridbag,c); c.weighty=0.0; c.gridwidth=GridBagConstraints.REMAINDER; c.gridheight=1; addGridBagButton(“Button9”,gridbag,c); addGridBagButton(“Button10”,gridbag,c); c.weighty=1.0; addGridBagButton(“Button11”,gridbag,c); c.weighty=0.0; addGridBagButton(“Button12”,gridbag,c); } } Þ颰 ¹«ó£è¤ó£ñ¤ô¢ GridBagLayout âù¢ø Layout º¬ø ðòù¢ð´î¢îð¢ ð좮¼è¢è¤ù¢ø¶. Þï¢î Layout -ù¢ Íôñ¢ Object -è¬÷ «õí¢®ò ï¦÷ñ¢ ñø¢Áñ¢ Üèôé¢è÷¤ô¢ °ø¤ð¢ð¤ì¢ì row ñø¢Áñ¢column-î¢î¤ô¢align ªêò¢õîø¢°ð¢ ðòù¢ ð´è¤ù¢ø¶. GridBagLayout gridbag = new GridBagLayout( ); GridBagConstraints c = new GridBagConstraints( ); âù¢ø ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þî¤ô¢ GridBagLayout âù¢ð¶ ïñ¢º¬ìò Layout ݰñ¢. Þï¢î Layout -ô¢ ïñ¢º¬ìò Object -è÷¢ âï¢î Row, Column Ýè¤ò Þìî¢î¤ô¢ Þ¼è¢è «õí¢´ñ¢ ñø¢Áñ¢ âõ¢õ£Á ï¦÷ Üèôé¢è¬÷ ªè£í¢®¼è¢è«õí¢´ñ¢ «ð£ù¢ø Ü÷¾è¬÷è¢ ªè£´ð¢ðîø¢°GridBagConstraintsâù¢ø Class ¬ìò Object -è÷¢ ðòù¢ð´è¤ù¢øù.Þï¢î class -ù¢ à÷¢ fill, weightx, weighty, gridWidth,gridHeight,gridx,gridy âù¢Á ðô Propertyvariable-è÷¢ Þ¼è¢è¤ù¢øù. Þõø¢ø¤ô¢ «õí¢®ò ñî¤ð¢¹è¬÷ ªè£´î¢¶õ¤ì¢´ ð¤ù¢ùó¢ ܬõ âï¢î Object -ø¢° apply Ýè «õí¢´ñ¢ âù¢Áñ¢ ªê£ô¢ô«õí¢´ñ¢. Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ConstraintVariable è÷¤ô¢ ñî¤ð¢¹è¬÷ Set ªêò¢õîø¢è¢ ªèù¢«ø
  • 63. 63 addGridBagButton âù¢Âñ¢ function â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î function -ô¢ «õí¢®ò Button Object -è¬÷ Üõø¢ø¤è¢°î¢ «î¬õò£ù constraint ñî¤ð¢¹è÷¤ô¢ assign ªêò¢¶ ªè£÷¢÷ô£ñ¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 3.7 Listing 3.6 import java.awt.*; import java.applet.Applet; import java.awt.event.*; public class cardtest extends Applet { CardLayout card = new CardLayout(); public void init() { resize(400,300); setLayout(card); Panel p1 = new Panel(); p1.add(new Button(“This is a button on Panel One”)); add(p1,””);
  • 64. 64 addMouseListener(p1); Panel p2 = new Panel(); p2.add(new Button(“This is a button on Panel Two”)); add(p2,””); addMouseListener(p2); Panel p3 = new Panel(); p3.add(new Button(“This is a button on Panel Three”)); add(p3,””); addMouseListener(p3); Panel p4 = new Panel(); p4.add(new Button(“This is a button on Panel Four”)); add(p4,””); addMouseListener(p4); card.first(this); } void addMouseListener(Panel p) { p.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { card.next(cardtest.this); } }); } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ CardLayout âù¢Âñ¢ Layout º¬ø õ¤÷è¢èð¢ð좴÷¢÷¶.
  • 65. 65 Þï¢î Layout º¬øò¤ô¢ å«ó «ïóî¢î¤ô¢ å«ó å¼ Component -¬ù ñ좴«ñ display ªêò¢¶ ªè£÷¢÷ º®»ñ¢. âù«õ ï£ñ¢ ðô¢«õÁ Panel -è¬÷ à¼õ£è¢è¤ Üõø¢ø¤ô¢ ªõõ¢«õÁ Layout -è¬÷ ªêò¢¶ ªè£÷¢÷ô£ñ¢. Ýù£ô¢ Þï¢î Panel -è¬÷ åõ¢ªõ£ù¢ø£èî¢î£ù¢ CardLayout -ô¢ display ªêò¢¶ ªè£÷¢÷ º®»ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 3.8 Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ðô Panel-è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. Üõø¢¬øè¢ Click ªêò¢î¾ìù¢ åõ¢ªõ£Á Panel Ýè ñ£ø¢ø¤ display ªêò¢»ñ¢ð®è¢° card.next(cardtest.this) âù¢Âñ¢ function ðòù¢ð´î¢îð¢ð좮¼è¢è¤ù¢ø¶. °ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹°ø¤ð¢¹ Þ¶õ¬ó ï£ñ¢ FlowLayout, GridLayout, GridBagLayout, BorderLayout, CardLayout âù¢Âñ¢ ä õ¬è Layout-è¬÷ ðòù¢ð´î¢î¤ âõ¢õ£Á awt Package-ô¢ à÷¢÷ TextField, Label, Button ºîô£ù ðô¢«õÁ Object -è¬÷ à¼õ£è¢°õ¶ âù¾ñ¢, Üõø¢¬ø ðòù¢ð´î¢¶ñ¢ ªð£¿¶ âù¢ù ïìè¢è «õí¢´ñ¢ âù¢Á ªê£ô¢õîø¢è¢°ø¤ò Event-è¬÷ âõ¢õ£Á ¬èò£÷¢õ¶ âù¢ðî¬ù»ñ¢ Üø¤ï¢î¤¼è¢è¤ù¢«ø£ñ¢. Windows Application abstract windowing toolkit (awt) Package-ô¢ à÷¢÷ Component-è¬÷ð¢
  • 66. 66 ðòù¢ð´î¢î¤ Þ¶õ¬ó applet -è¬÷ âõ¢õ£Á à¼õ£è¢°õ¶ âù¢Á ð£ó¢î¢î¤¼è¢ è¤ù¢«ø£ñ¢. Þ«î awt Package -ô¢ à÷¢÷ Component-è¬÷ ªè£í¢´ Windows Operating System -î¢î¤ô¢ «õ¬ô ªêò¢»ñ¢ Application-è¬÷»ñ¢ à¼õ£è¢è º®»ñ¢. Visual Basic ºîô£ù GUI Package è¬÷ à¼õ£è¢°õ¶ «ð£ù¢«ø ܬù õ¬èò£ù Application -è¬÷»ñ¢ Java-õ¤ô¢ à¼õ£è¢è Þò½ñ¢. ªð£¶õ£è windows -ô¢ å¼ Application Þòé¢è «õí¢´ñ¢ âù¢ø£ô¢ Üï¢î Application -ø¢° âù¢Á å¼ window frame Þ¼è¢è «õí¢´ñ¢ Üô¢ôõ£? Üî£õ¶ TitleBar, Minimize Button, Maximize Button, Close Box Ýè¤òõø¢¬ø ªè£í¢ì Frame åù¢Á Üõñê¤òñ¢. Üî¢î¬èò Frame åù¢ø¤¬ù à¼õ£è¢è¤ Üî¤ô¢ ïñ¢º¬ìò Component-è¬÷ «ð£ì¢´î¢ ªè£÷¢÷ô£ñ¢. °ø¤ð¢ð£è Application åù¢ø¤¬ù â¿î «õí¢´ñ¢ âù¢ø£ô¢ main( ) function- ô¢ î£ù¢ ¹«ó£è¤ó£ñ¤¬ù â¿î «õí¢´ñ¢ âù¢ðî¬ù âð¢ªð£¿¶ñ¢ 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. Listing 3.7 import java.awt.*; import java.awt.event.*; public class appl { public static void main(String a[]) { Frame baskar=new Frame(“Application”); baskar.resize(300,300); baskar.show(); } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ main ( ) function ù¤¬ù ðòù¢ð´î¢î¤ò¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. âù«õ Þ¶ å¼ Application ݰñ¢. Þî¤ô¢ Frame xyz = new Frame(‘Application’); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î class-ù¢ Íôñ¢ ïñ袰 å¼ Window frame 褬ìè¢è¤ù¢ø¶. constructors-ô¢ ªè£´è¢°ñ¢ String Ýù¶ window õ¤ù¢ Title Ýè õ¼è¤ù¢ø¶. Þï¢î window õ£ù¶ âï¢î ï¦÷ñ¢ ñø¢Áñ¢
  • 67. 67 Üèôî¢î¤ô¢ õó«õí¢´ñ¢ âù¢ðîø¢è¢è£è xyz.resize(300,300); âù¢Âñ¢ member function ù¤¬ù ðòù¢ð´î¢î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ¼î¤ò£è xyz.show ( ); âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ ïñ¢º¬ìò frame Ýù¶ Display Ýè¤ù¢ø¶. Þî¬ù javac appl.java âù¢Á ªè£´î¢¶ Compile ªêò¢¶ õ¤ì¢´ java appl âù¢Á ªè£´î¢¶ Run ªêò¢¶ ð£¼é¢è÷¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 3.9 «ñø¢èí¢ìõ£Á window ªîó¤õî¬ùè¢ è£íô£ñ¢. Þï¢î window - õ¤ù¤ô¢ ªîó¤è¤ù¢ø Minimize ñø¢Áñ¢ Maximize Button-è÷¢ ºîô¤òù Þò颰ñ¢. Ýù£ô¢ Close Button Ýù¶ Þòé¢è£¶. ãªùù¤ô¢ Üîø¢è¢ªèù¢Á îù¤ò£è Event åù¢ø¤¬ù â¿î «õí¢´ñ¢. âù«õ Þï¢î ¹«ó£è¤ó£ñ¢ Þò颰ñ¢ ªð£¿¶ Dos Prompt-ô¢ Ctrl+C âù¢Á Shortcut key ò¤¬ùð¢ ðòù¢ð´î¢î¤ ¹«ó£è¤ó£ñ¤ù¢ Þòè¢èî ï¤Áî¢î¤è¢ ªè£÷¢Àé¢è÷¢. Listing 3.8 import java.awt.*;
  • 68. 68 import java.awt.event.*; public class my_app { Frame my_frm=new Frame(“My Application”); Label lname=new Label(“User Name”); TextField tname=new TextField(20); Label lpass=new Label(“Password”); TextField tpass=new TextField(20); my_app() { my_frm.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); tpass.setEchoChar(‘x’); Panel my_pan=new Panel(); my_pan.setLayout(new GridLayout(2,2)); my_pan.add(lname); my_pan.add(tname); my_pan.add(lpass); my_pan.add(tpass); BorderLayout xyz=new BorderLayout(); my_frm.setLayout(xyz); my_frm.add(my_pan,BorderLayout.CENTER);
  • 69. 69 my_frm.resize(250,100); my_frm.show(); } static void main(String argv[]) { my_app hello=new my_app(); } } Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ my_frm âù¢ªø£¼ frame à¼õ£è¢èð¢ð좮¼è¢è¤ù¢ø¶. lname, lpass âù¢Á Þóí¢´ Label Object-èÀñ¢ ñø¢Áñ¢ tname, tpass âù¢Á Þóí¢´ TextField object-èÀñ¢ à¼õ£è¢èð¢ð좴÷¢÷ù. Þï¢î Object-è÷¢ Þï¢î Frame ù¤ô¢ õ¼õîø¢è¢è£è ¹«ó£è¤ó£ñ¢ â¿îð¢ð좴÷¢÷¶. my_app( ) âù¢Á å¼ Con- structor function â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. ÞîÂ÷¢ ï£ñ¢ ܬù initialize «õ¬ôè¬÷»ñ¢ ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢. main ( ) function ù¤ô¢ my_app hello = new my_app( ); âù¢Á ïñ¢º¬ìò class -ø¢° å¼ Object à¼õ£è¢èð¢ð´õ¬îè¢ èõù¤»é¢è÷¢. Þï¢î Object à¼õ£°ñ¢ ªð£¿¶ Üï¢î Object -ô¢ à÷¢÷ Class-ù¢ ܬù Variable èÀñ¢ à¼õ£è¢èð¢ð좴 Constructor Function -Âñ¢ î£ù£è Þòé¢è
  • 70. 70 Ýóñ¢ð¤è¢è¤ù¢ø¶. Constructor Function ù¤ù¢ à÷¢ my_frm.addwindowListener(new windowAdopter( ) { public void windowClosing (WindowEvent e ) { System.exit(0); } }); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ ïñ¢º¬ìò frame Ýù my_frm object-ù¢ Close Button ù¤¬ù click ªêò¢î£ô¢ Þò颰ñ¢ event ݰñ¢. System.exit (0); function Ýù¶ Application-ù¤ù¢ Þòè¢èî 祿è¤ù¢ø¶. ð¤ù¢ my_pan âù¢ø Panel åù¢Á à¼õ£è¢èð¢ð좴 Üî¤ô¢ GridLayout Ýù¶ Set ªêò¢òð¢ð좮¼è¢è¤ù¢ø¶. Üîù¢ à÷¢ ïñ¢º¬ìò lname, tname, lpass, tpass Ýè¤ò Object-è÷¢ Þ¬íè¢èð¢ð´è¤ù¢øù. Þï¢îð¢ Panel -¬ù ïñ¢º¬ìò frame à÷¢ Þ¬í袰ñ¢ ºù¢ BorderLayout object åù¢Á à¼õ£è¢èð¢ð좴 ܶ frame ¬ìò Layout Ýè Set ªêò¢òð¢ð´è¤ù¢ø¶. ð¤ù¢ùó¢ Panel Object Ýù¶ frameù¢ à÷¢add ªêò¢òð¢ð´è¤ù¢ø¶. ð¤ù¢ùó¢ frame resize ªêò¢òð¢ð좴 show ªêò¢òð¢ð´ è¤ù¢ø¶. ðì‹ðì‹ðì‹ðì‹ðì‹ 3.10
  • 71. 71 Menu Program Listing 3.9 import java.awt.*; import java.awt.event.*; public class menu { public static void main(String a[]) { Frame my_frm=new Frame(“Menu Programme”); MenuBar bar = new MenuBar(); Menu File = new Menu(“File”); Menu Edit = new Menu(“Edit”); // MenuItem abc=new MenuItem(“New...”); // File.add(abc); File.add(new MenuItem(“New”)); File.add(new MenuItem(“Open”)); File.add(new MenuItem(“Save”)); File.add(new MenuItem(“Save As”)); File.add(new MenuItem(“-”)); File.add(new MenuItem(“PageSetup”)); File.add(new MenuItem(“Print”)); File.add(new MenuItem(“-”)); File.add(new MenuItem(“Exit”)); Edit.add(new MenuItem(“Undo”)); Edit.add(new MenuItem(“-”)); Edit.add(new MenuItem(“Cut”)); Edit.add(new MenuItem(“Copy”)); Edit.add(new MenuItem(“Paste”)); bar.add(File); bar.add(Edit); my_frm.setMenuBar(bar); my_frm.resize(300,300); my_frm.show();
  • 72. 72 } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ menu -õ¤¬ù âõ¢õ£Á à¼õ£è¢°õ¶ âù¢Á ð£ó¢è¢èô£ñ¢. ºîô¤ô¢ ï£ñ¢ å¼ frame -¬ù à¼õ£è¢è «õí¢´ñ¢. ãªùù¤ô¢ frame -ô¢ î£ù¢ menu õó «õí¢´ñ¢ Üô¢ôõ£? Üîø¢è¢è£è my_frm âù¢ø ªðòó¤ô¢frame à¼õ£è¢èð¢ð좮¼è¢è¤ù¢ø¶. ܴ MenuBar bar = new MenuBar( ); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î MenuBar Class ù¢ Íôñ¢ î£ù¢ ïñ¢ frame ù¢ à÷¢ menu -õ¤¬ù à¼õ£è¢è Þò½ñ¢. Þï¢î MenuBar - ø¤ù¤ô¢ ïñ袰 «î¬õò£ù Menu -è¬÷ à¼õ£è¢è Menu âù¢Áñ¢ èì¢ì¬÷ò¤¬ù ðòù¢ð´î¢îô£ñ¢. Menu File = new Menu (‘File’); Menu File = new Menu (‘Edit’); Þ颰 File, Edit âù¢Á Þóí¢´ menu-è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. Menu õ¤ø¢è¢°÷¢ õó«õí¢®òù âù¢ù âù¢Á ªê£ô¢õîø¢è¢è£è menu Item âù¢ªø£¼ class Þ¼è¢è¤ù¢ø¶. Þî¬ùð¢ ðòù¢ð´î¢î¤ Menu õ¤ø¢° «õí¢®ò Item è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢÷ô£ñ¢. File.add(new MenuItem(‘New’); âù¢ø º¬øò¤ô¢ MenuItem-è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢÷ô£ñ¢. Þ¼î¤ò£è ïñ¢º¬ìò Menu-è¬÷ MenuBar object-´ìù¢ Þ¬íè¢è «õí¢´ñ¢ âù¢ðîø¢è¢è£è bar.add(File); bar.add(Edit); ܴ Þï¢î MenuBar-¬ù ïñ¢º¬ìò frame-ù¢ à÷¢ set ªêò¢ò «õí¢´ñ¢ âù¢ðîø¢è¢è£è my.frm.setMenuBar(bar); âù¢ø èì¢ì¬÷¬òð¢ ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢. è¬ìê¤ò¤ô¢ frame -¬ù Display ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
  • 74. 74 Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 4. JavaDraw å¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ùå¼ º¿¬ñò£ù Drawing ¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢ awt-ò¤ô¢ à÷¢÷ ªð¼ñ¢ð£ù¢¬ñò£ù Class object-è¬÷è¢ ªè£í¢´ å¼ º¿¬ñò£ù Drawing ¹«ó£è¤ó£ñ¢ Þ颰 õ¤÷è¢èð¢ð´è¤ù¢ø¶. Þ¶ Applet Ýè¾ñ¢ Ü«î êñòî¢î¤ô¢ Application ¹«ó£è¤ó£ñ£è¾ñ¢ â¿îð¢ð좴÷¢÷î£ô¢ å«ó êñòî¢î¤ô¢ Þóí¢´ õ¬èè÷¤½ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. Þ¶ å¼ º¿¬ñò£ù ¹«ó£è¤ó£ñ£è Þ¼ð¢ðî£ô¢ Þîù¢ Þòè¢èî Üø¤ï¢¶ ªè£í¢ìð¤ø° ïñ¢ñ£ô¢ ªðó¤ò ¹«ó£è¤ó£ñ¢è¬÷ â¿î Þò½ñ¢. Þï¢î ¹«ó£è¤ó£ñ¤ô¢ Line, Circle, Box ºîô£ù õ®õé¢è÷¤ô¢ â¶ «õí¢´«ñ£ Üî¬ù ªîó¤¾ ªêò¢¶ «õí¢®ò èôó¢è÷¤ô¢ õ¬óòô£ñ¢. Üî£õ¶ 覫ö ªè£´è¢èð¢ ð좴÷¢÷ ðìî¢î¤ô¢ à÷¢÷¶ «ð£ô¢ Þò颰ñ¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 4.1 Þï¢î ¹«ó£è¤ó£ñ¢ å«ó File Ýè â¿îð¢ðìõ¤ô¢¬ô. ñ£ø£è ä îù¤î¢îù¤ Java ¹«ó£è¤ó£ñ¢è÷£è â¿îð¢ð좴÷¢÷ù ܬõ WidgetPanel.java JavaDrawFrame.java JavaDraw.java Shape.java UltraColor.java
  • 75. 75 覫ö ªè£´è¢èð¢ð좴÷¢÷ Þï¢î file-è÷¤ù¢ Source File-è¬÷ Þ颰 ªè£´è¢èð¢ð좴÷¢÷õ£«ø Type ªêò¢¶ Save ªêò¢î ð¤ù¢ îù¤î¢îù¤ò£è Compile ªêò¢»é¢è÷¢. WidgetPanel.java import java.awt.*; import java.awt.event.*; import java.awt.Image; import java.applet.*; import java.net.*; import Shape.*; class WidgetPanel extends Panel { private final String AboutButtonName=”About...”, ClearButtonName=”CLEAR!”; protected boolean About_Mode=false; protected Choice shapeChoice=null, colorChoice=null; private Checkbox fillCheckbox=null, threeDCheckbox=null; private final static int _WIDTH=400,_HEIGHT=60; private int width=0,height=0; public WidgetPanel() { this(0,0); } public WidgetPanel(int width,int height) { setSize(width,height); new Panel(); setBackground(Color.lightGray);
  • 76. 76 Button b=new Button(AboutButtonName); b.addActionListener(new ActionHandler() { public void actionPerformed(ActionEvent e) { super.actionPerformed(e); WidgetPanel.this.about(); } }); add(b); b=new Button(ClearButtonName); b.addActionListener(new ActionHandler() { public void actionPerformed(ActionEvent e) { super.actionPerformed(e); WidgetPanel.this.clearDrawCanvas(); } }); add(b); add(new Label(“Shape:”)); shapeChoice=new Choice(); shapeChoice.addItem(“Line”); shapeChoice.addItem(“Rectangle”); shapeChoice.addItem(“Oval”); shapeChoice.addItem(“Polygon”); shapeChoice.addItem(“Arc”); shapeChoice.addItem(“Text”); shapeChoice.addItem(“Image”); add(shapeChoice); add(new Label(“Color:”)); colorChoice=new Choice(); colorChoice.addItem(“Black”);
  • 77. 77 colorChoice.addItem(“Blue”); colorChoice.addItem(“Cyan”); colorChoice.addItem(“DarkGray”); colorChoice.addItem(“Gray”); colorChoice.addItem(“Green”); colorChoice.addItem(“Light”); colorChoice.addItem(“Magenta”); colorChoice.addItem(“Orange”); colorChoice.addItem(“Pink”); colorChoice.addItem(“Red”); colorChoice.addItem(“White”); colorChoice.addItem(“Yellow”); colorChoice.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { String colorStr=WidgetPanel.this. colorChoice.getSelectedItem(); WidgetPanel.this.getParent(). setForeground(UltraColor. stringColor(colorStr)); WidgetPanel.this.repaint(); } }); add(colorChoice); fillCheckbox=new Checkbox(“Fill”); add(fillCheckbox); threeDCheckbox=new Checkbox(“3D”); add(threeDCheckbox); } public Dimension getPreferredSize() {
  • 78. 78 return new Dimension(width,height); } public void setSize(int width,int height) { if(width >0) this.width=width; else this.width=_WIDTH; if(height >0) this.height=height; else this.height=_HEIGHT; } public void clearDrawCanvas() { Graphics g=getParent().getGraphics(); int w=getParent().getSize().width, h=getParent().getSize().height; g.clearRect(0,0,w,h); } public void about() { About_Mode=true; clearDrawCanvas(); Color fg=getParent().getForeground(); getParent().setForeground(Color.black); Graphics g=getParent().getGraphics(); g.drawString(“JavaDraw!”,10,70); g.drawString(“by Aaron E.Walsh”,10,80); g.drawString(“version 1.0”,10,90); g.drawString(“revised 7.26.97”,10,100);
  • 79. 79 getParent().setForeground(fg); } class ActionHandler implements ActionListener { public void actionPerformed(ActionEvent e) { if(About_Mode) { WidgetPanel.this.clearDrawCanvas(); WidgetPanel.this.About_Mode=false; } } } public void paint(Graphics g) { for(int yOffset=0 ; yOffset<5 ; yOffset++) { g.drawLine(0, getSize().height-yOffset, getSize().width, getSize().height-yOffset); } } public int getShape() { return shapeChoice.getSelectedIndex(); } public boolean isFilled() { return fillCheckbox.getState(); }
  • 80. 80 public boolean isThreeD() { return threeDCheckbox.getState(); } } JavaDrawFrame.java import java.awt.*; import java.awt.event.*; class JavaDrawFrame extends Frame { public JavaDrawFrame(String str) { super(str); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); System.exit(0); } }); } } JavaDraw.java import java.applet.*; import java.awt.*; import java.awt.event.*; import JavaDrawFrame;
  • 81. 81 import WidgetPanel; import Shape; public class JavaDraw extends Applet { boolean m_fStandAlone=false; private WidgetPanel guiPanel=null; private int oldX=0,oldY=0; private Image theImage=null; private String imagePath=”tiger1.jpg”; private String m_foregroundColor=null; private String m_backgroundColor=null; private final String PARAM_forecolor=”forecolor”; private final String PARAM_backcolor=”backcolor”; String GetParameter(String strName,String args[]) { if(args==null) { return getParameter(strName); } int i; String strArg=strName + “=”; String strValue=null; for(i=0;i<args.length;i++) { if(strArg.equalsIgnoreCase (args[i].substring(0,strArg.length()))) { strValue=args[i].substring(strArg.length()); if(strValue.startsWith(“””)) { strValue=strValue.substring(1); if(strValue.endsWith(“””)) strValue=strValue.substring Java-11
  • 82. 82 (0,strValue.length()-1); } } } return strValue; } void GetParameter(String args[]) { String param; param=GetParameter(PARAM_forecolor,args); if(param!=null) m_foregroundColor=param; param=GetParameter(PARAM_backcolor,args); if(param!=null) m_backgroundColor=param; } public static void main(String args[]) { JavaDrawFrame frame=new JavaDrawFrame(“JavaDraw!”); frame.show(); frame.setVisible(false); frame.setSize(frame.getInsets().left+ frame.getInsets().right+400,frame.getInsets().top+ frame.getInsets().bottom+350); JavaDraw applet_JavaDraw=new JavaDraw(); frame.add(“Center”,applet_JavaDraw); applet_JavaDraw.m_fStandAlone=true; applet_JavaDraw.GetParameter(args); applet_JavaDraw.init(); frame.show(); }
  • 83. 83 public JavaDraw() { } public String getAppletInfo() { return “Name:JavaDrawrn”+ “Author: Packia Nathanrn”; } public String[][]getParameterInfo() { String[][]info= { { PARAM_forecolor,”String”,”Specifies default fore- ground color of this program(must be color class variable)”}, { PARAM_backcolor,”String”,”Specifies default background color of this program(must be a color class variable)”}, }; return info; } public void init() { if(!m_fStandAlone) GetParameter(null); resize(400,350); this.setLayout(new BorderLayout()); setBackground(Color.white); guiPanel=new WidgetPanel(); add(“North”,guiPanel); addMouseListener(getMouseListener()); addMouseMotionListener(getMouseMotionListener()); } MouseListener getMouseListener()
  • 84. 84 { return new MouseAdapter() { public void mousePressed(MouseEvent e) { oldX=e.getX(); oldY=e.getY(); } }; } MouseMotionListener getMouseMotionListener() { return new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { JavaDraw.this.draw(e.getX(),e.getY()); } }; } void draw(int x,int y) { Graphics g=getGraphics(); boolean fill=guiPanel.isFilled(), threeD=guiPanel.isThreeD(); switch (guiPanel.getShape()) { case Shape.LINE: g.drawLine(oldX,oldY,x,y); break; case Shape.RECT: if(fill)
  • 85. 85 { if(threeD) g.fill3DRect(oldX,oldY,x,y,true); else g.fillRect(oldX,oldY,x,y); }else{ if (threeD) g.draw3DRect (oldX+1,oldY+1,x+1,y+1,true); else g.drawRect(oldX,oldY,x,y); } break; case Shape.OVAL: if(fill) { g.fillOval(oldX,oldY,x,y); }else{ g.drawOval(oldX,oldY,x,y); } break; case Shape.ARC: if (fill) { g.fillArc(oldX,oldY,100,100,x,y); }else{ g.drawArc(oldX,oldY,100,100,x,y); } break; case Shape.POLY: int xCoords[]= {x+oldX,x+55,x+65,x+80,x+80,x+oldX}; int yCoords[]= {y+oldY,y+38,y+55,y+30,y+75,y+oldY}; Polygon thePoly=new
  • 86. 86 Polygon(xCoords,yCoords,xCoords.length); if(fill) { g.fillPolygon(thePoly); }else{ g.drawPolygon(thePoly); } break; case Shape.TEXT: g.setFont(new Font (“Courier”,Font.BOLD,y/6)); g.drawString(“JavaDraw!”,x,y); break; case Shape.IMAGE: if (theImage==null) if(m_fStandAlone) { theImage=Toolkit. getDefaultToolkit().getImage(imagePath); }else{ theImage=getImage (getCodeBase(),imagePath); } int h=theImage.getHeight(this); int w=theImage.getWidth(this); if(fill) { g.drawImage (theImage,x-(w/2),y-(h/2), getForeground(),this); }else{ g.drawImage (theImage,x-(w/2),y-(h/2),this); } break;
  • 87. 87 default: break; } g.dispose(); oldX=x; oldY=y; } } Shape.java public final class Shape { public final static int LINE=0, RECT=1, OVAL=2, POLY=3, ARC=4, TEXT=5, IMAGE=6; private Shape() { } } UltraColor.java import java.awt.*; public class UltraColor { private UltraColor() { } public static Color stringColor(String colorStr) {
  • 88. 88 Color theColor=null; if(colorStr.equalsIgnoreCase(“black”)) { theColor=Color.black; }else if(colorStr.equalsIgnoreCase(“blue”)) { theColor=Color.blue; }else if(colorStr.equalsIgnoreCase(“cyan”)) { theColor=Color.cyan; }else if(colorStr.equalsIgnoreCase(“darkGray”)) { theColor=Color.darkGray; }else if(colorStr.equalsIgnoreCase(“gray”)) { theColor=Color.gray; }else if(colorStr.equalsIgnoreCase(“green”)) { theColor=Color.green; }else if(colorStr.equalsIgnoreCase(“lightGray”)) { theColor=Color.lightGray; }else if(colorStr.equalsIgnoreCase(“magenta”)) { theColor=Color.magenta; }else if(colorStr.equalsIgnoreCase(“orange”)) { theColor=Color.orange; }else if(colorStr.equalsIgnoreCase(“pink”)) { theColor=Color.pink; }else if(colorStr.equalsIgnoreCase(“red”)) { theColor=Color.red;
  • 89. 89 }else if(colorStr.equalsIgnoreCase(“white”)) { theColor=Color.white; }else if(colorStr.equalsIgnoreCase(“yellow”)) { theColor=Color.yellow; }else { System.out.println(“No COLOR MATCH”); } return theColor; } } ºîô¤ô¢ Shape.java âÂñ¢ file-ô¤ô¢ âù¢ù â¿îð¢ð좮¼è¢è¤ù¢ø¶ âù¢ðî¬ùè¢ è£í¢«ð£ñ¢. Þî¤ô¢ Shape âù¢Âñ¢ class à¼õ£è¢èð¢ð좴 Üî¤ô¢ LINE, RECT, OVAL, POLY, ARC, TEXT, IMAGE âù¢ø Variable-è÷¢ Define ªêò¢òð¢ð좴 Üõø¢ø¤ô¢ õó¤¬êò£è 0,1,2, âù¢ø ñî¤ð¢¹è÷¢ ðî¤òð¢ ð좮¼è¢è¤ù¢øù. Þõø¢¬ø ï£ñ¢ WidgetPanel âù¢Âñ¢ Class-ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢è¤ù¢«ø£ñ¢. ܴ UltraColor.java âù¢Âñ¢ file-ô¢ âù¢ù â¿îð¢ð좮¼è¢è¤ù¢ø¶ âù¢ðî¬ùè¢ è£í¢«ð£ñ¢. Þî¤ô¢ UltraColor âù¢Âñ¢ class åù¢Á â¿îð¢ð좴 ÜîÂ÷¢ StringColor âù¢ªø£¼ method â¿îð¢ð좮¼è¢è¤ù¢ø¶. Þîù¢ Parameter Ýè String Variable åù¢Áñ¢ return data type Ýè Color âù¢Âñ¢ class-ñ¢ ªè£´è¢èð¢ð좮¼è¢è¤ù¢ø¶. ï£ñ¢ Þï¢î function-ù¤ù¢ Parameter-ô¢ âù¢ù Color «õí¢´ñ¢ âù¢Á ªè£´ð¢«ð£ñ£ù£ô¢ Üï¢î Color-¬ù ªðø¢Áè¢ ªè£÷¢÷ô£ñ¢. Üî£õ¶ Java- õ¤ô¢ èôó¢è¬÷ ¬èò£÷¢õîø¢è¢ªèù¢Á îù¤ò£è Color âù¢ªø£¼ class à÷¢÷¶. Þï¢î Class-ù¢ object-®ø¢è¢°÷¢ ïñ袰 «î¬õò£ù èôó¤¬ù ðî¤ï¢¶ ¬õî¢¶è¢ ªè£í¢´ Üõø¢¬ø «õí¢®ò Þìî¢î¤ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. Color.black, Color.blue, Color.cyan âù¢ø õ¬èò¤ô¢ èôó¢è÷¤¬ùð¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. Þõø¢¬ø ï£ñ¢ WidgetPanel ¹«ó£è¤ó£ñ¤ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢Àè¤ù¢«ø£ñ¢. ܴ WidgetPanel.java-õ¤ô¢ âù¢ù â¿îð¢ð좮¼è¢è¤ù¢ø¶ âùè¢ Java-12
  • 90. 90 è£í¢«ð£ñ¢. Þï¢î file-ô¢ î£ù¢ WidgetPanel âù¢ªø£¼ class â¿îð¢ð좮¼è¢è¤ù¢ø¶. Þ¶ Panel class-ô¢ ޼ Inheritance ªêò¢òð¢ ð좮¼è¢è¤ù¢ø¶. âù«õ Þï¢î class-ø¢° object à¼õ£è¢°ñ¢ ªð£¿¶ î£ù£è«õ ïñ袰 Panel à¼õ£è¤õ¤´è¤ù¢ø¶. Þï¢î Panel-ô¤ô¢ î£ù¢ ïñ¢º¬ìò ¹«ó£è¤ó£ñ¤ø¢°î¢ «î¬õò£ù object-è÷¢ Üî£õ¶ Label, Choice, Checkbox ºîô£ù ܬùñ¢ ðî¤òð¢ð좮¼è¢è¤ù¢øù.Þ颰 ºîô¤ô¢ AboutButtonName ClearButtonName âù¢Á Þóí¢´ String °è÷¢ Define ªêò¢òð¢ð좮¼è¢è¤ù¢øù. ܴ About_mode âù¢Âñ¢ Boolean Variable à¼õ£è¢èð¢ð좴 Üî¤ô¢ False âù¢Âñ¢ ñî¤ð¢¹ ðî¤òð¢ð좮¼è¢è¤ù¢ø¶. ܴ ShapeChoice ñø¢Áñ¢ ColorChoice âù¢Âñ¢ Þóí¢´ Choice Class ù¢ object-è÷¢ Define ªêò¢òð¢ð좮¼è¢è¤ù¢øù. ð¤ù¢ùó¢ fillCheckbox, threeDCheckbox, âù¢Á Þóí¢´ Checkbox-è÷¢ define ªêò¢òð¢ð좮¼è¢è¤ù¢øù. ܴ _WIDTH, _HEIGHT, width, height âù¢Á int variable-è÷¢ à¼õ£è¢èð¢ð좴 Üõø¢ø¤ô¢ ñî¤ð¢¹è÷¢ ðî¤òð¢ð좮¼è¢è¤ù¢øù. Þï¢î class-ô¢ Þóí¢´ Constructor function-è÷¢ à÷¢÷ù. ºîô£õ¶ âï¢î ñî¤ð¢¹èÀñ¢ ªè£´è¢èð¢ ðìõ¤ô¢¬ôªòù¤ô¢ Þò颰è¤ù¢ø¶. Þóí¢ì£õ¶ Ýù¶ Height ñø¢Áñ¢ Width ªè£´ð¢ð¤ù¢ Üï¢î ñî¤ð¢ð¤¬ù ªè£í¢´ Þò颰è¤ù¢ø¶. WidgetPanel Constructor function-ô¢ ºîô¤ô¢ setSize(Width, Height) âù¢ø function ðòù¢ð´î¢îð¢ð좴÷¢÷¶. ï£ñ¢ ªè£´è¢è¤ù¢ø Width, Height ñî¤ð¢¹è÷¤ô¢ Panel Ýù¶ Set ݰñ¢. ܴ new Panel( ); âù¢Á ªè£´î¢î¤¼èè¢è¤ù¢«ø£ñ¢ Üô¢ôõ£? Üð¢ªð£¿¶î£ù¢ Panel Ýù¶ à¼õ£°ñ¢. ð¤ù¢ùó¢ SetBackground(Color.lightgray); âù¢ø function ðòù¢ð´î¢îð¢ð좴 Üîù¢Íôñ¢ Panel-ø¢è¢° Background Color Set ªêò¢òð¢ð좮¼è¢è¤ù¢øù. ð¤ù¢ùó¢ Button b = new Button (AboutButtonName); ..... add(b); âù¢Á About Button à¼õ £è¢èð¢ð좴 Üî¬ù Click ªêò¢î£ô¢ about( ) âù¢Âñ¢ function Þòé¢è «õí¢´ñ¢ âù¢Á ActionListener- ô¢ ªê£ô¢ôð¢ð좴÷¢÷¶. Þ¬îð¢«ð£ô«õ Clear Button Âñ¢ à¼õ£è¢èð¢ð좴 Üî¬ù Click ªêò¢î£ô¢ ClearDrawCanvas âù¢ø function Þòé¢è«õí¢´ñ¢ âù¢Á ActionListener-ô¢
  • 91. 91 ªê£ô¢ôð¢ð좴÷¢÷¶. ܴ Shape: âù¢Âñ¢ Caption ù¤¬ùè¢ ªè£í¢ì Label åù¢Á à¼õ£è¢èð¢ð좴, Üî¬ùî¢ ªî£ìó¢ï¢¶ ShapeChoice âù¢Âñ¢ Choice à¼õ£è¢èð¢ ð´è¤ù¢ø¶. Þï¢î Choice-ô¢ Line, Rectangle, Oval, Polygon, Arc, Text, Image âù¢Âñ¢ Item-è÷¢ add ªêò¢òð¢ð´è¤ù¢øù. Þ¶ð¢«ð£ô«õ ColorChoice âù¢Áñ¢ Choice object åù¢Á à¼õ£è¢èð¢ð좴 Üñ¢ õó¤¬êò£è èôó¢è÷¤ù¢ ªðòó¢è÷¢ add ªêò¢òð¢ð´è¤ù¢øù. Þï¢î ColorChoice Ýù¶ ItemListener Event -ø¢°÷¢÷£èð¢ð좴 Þî¬ù Click ªêò¢»ñ¢ ªð£¿¶ âï¢î Color-ø¤¬ù ªîó¤¾ ªêò¢è¤ù¢«ø£«ñ£ Üîø¢° î°ï¢î color ø¤¬ù Ultracolor âù¢ø, ï£ñ¢ ãø¢è¢èù«õ «õÁ å¼ file-ô¢ â¿î¤ ¬õî¢î¤¼ï¢î class- ù¢ à÷¢÷¤¼ï¢¶ «õí¢®ò Color-ø¤¬ù𢠪ðø¢Áî¢î¼è¤ù¢ø¶. Üï¢î Color Ýù¶ ïñ¶ Panel-ù¢ foreground color Ýè set ªêò¢òð¢ð´è¤ù¢ø¶. ܴ fill ñø¢Áñ¢ 3D Ýè¤ò Þóí¢´ CheckBox-è÷¢ à¼õ£è¢èð¢ð좴 add ªêò¢òð¢ð좮¼è¢è¤ù¢øù. ClearDrawCanvas âù¢ªø£¼ function â¿îð¢ð좮¼ð¢ ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Þò颰ñ¢ ªð£¿¶ ïñ¶ JavaDraw Application -ô¢ õ¬óï¢î ðìé¢è÷¢ âô¢ô£ñ¢ Üö¤è¢èð¢ð´è¤ù¢ø¶. ܬî𢠫ð£ô«õ about( ) function Þò颰ñ¢ ªð£¿¶ ïñ¶ Application-¬ùð¢ ðø¢ø¤ò îèõô¢è÷¢ ªîó¤»ñ¢ð®è¢° ªêò¢òð¢ð좴÷¢÷¶. paint( ) function Ýù¶ âð¢ªð£¿ªîô¢ô£ñ¢ ¹«ó£è¤ó£ñ¤¬ù refresh ªêò¢è¤ù¢«ø£«ñ£ Üð¢ªð£¿ªîô¢ô£ñ¢ Þò颰ñ¢ âù¢Á ªîó¤»ñ¢. ܬîð¢«ð£ô«õ repaint( ) âù¢Á âð¢ªð£¿ªîô¢ô£ñ¢ ªè£´è¢è¤ù¢«ø£«ñ£ Üð¢ªð£¿¶ñ¢ Þò颰ñ¢. ïñ¶ Panel -ø¢è¢° 覫ö ê¤ø¤ò õó¤è÷¤ô¢ îø¢ªð£¿¶ âï¢î color, foreground Ýè Select ªêò¢òð¢ð좮¼è¢è¤ù¢ø¶ âù¢ðî¬ùê¢ ªê£ô¢õîø¢è¢è£èð¢ ðòù¢ð´ è¤ù¢ø¶. getShape, isfilled, isThreeD Ýè¤ò function -è¬÷ Þò袰ñ¢ªð£¿¶ º¬ø«ò Shape, fill, 3D Ýè¤ò Object-è÷¤ù¢ îø¢«ð£¬îò 郎ôò¤¬ù𢠪ðø¢Áè¢ ªè£÷¢÷ º®è¤ù¢ø¶. Þù¤ JavaDrawFrame.java âù¢Áñ¢ file-ô¢ âù¢ù â¿îð¢ð좮¼è¢è¤ù¢ø¶ âù¢ðî¬ùè¢è£íô£ñ¢. Þî¤ô¢ JavaDrawFrame âù¢Âñ¢ Class åù¢Á â¿îð¢ ð좮¼è¢è¤ù¢ø¶. Þ¶ Frame âÂñ¢ Class-ô¢ ޼ extends ªêò¢òð¢ð좮¼ð ¢ðî£ô¢ Þï¢î Class -ø¢° object -¬ù à¼õ£è¢°ñ¢ ªð£¿¶ ïñ袰 Frame 褬ìè¢è¤ù¢ø¶. ÞîÂ÷¢ ï£ñ¢ WindowCloseing âù¢Âñ¢ Event-¬ù â¿î¤
  • 92. 92 ò¤¼è¢è¤ù¢«ø£ñ¢. ãªùù¤ô¢ ï£ñ¢ Close Button -ù¤¬ù Click ªêò¢»ñ¢ ªð£¿¶ Application Ýù¶ Close Ýè «õí¢´ñ¢ Üô¢ôõ£? Üîø¢è¢è£èî¢î£ù¢. Þ¼î¤ò£è ï£ñ¢ JavaDraw.java âù¢Âñ¢ file-ô¢ âù¢ù â¿îð¢ð좮¼è¢ è¤ù¢ø¶ âù¢ðî¬ù è£í¢«ð£ñ¢. Þï¢î ¹«ó£è¤ó£«ñ ïñ¢º¬ìò project -®ù¢ ºè¢è¤òñ£ù ¹«ó£è¤ó£ñ¢ ݰñ¢. ãªùù¤ô¢ Þî¤ô¢ î£ù¢ main( ) function Þ¼è¢è¤ù¢ø¶. ܬîð¢«ð£ô«õ init ( ) function -Âñ¢ Þ¼è¢è¤ù¢ø¶. Þï¢î ¹«ó£è¤ó£ñ¤¬ù ï¦é¢è÷¢ Compile ªêò¢¶ Java JavaDraw âù¢Á ªè£´î¢¶ Þò袰ñ¢ªð£¿¶ main( ) function Þò颰è¤ù¢ø¶. Applet Ýè Þò颰ñ¢ ªð£¿¶ init ( ) function Þòé¢è Ýóñ¢ð¤è¢è¤ù¢ø¶. Þê¢êñòî¢î¤ô¢ main ( ) function Þò颰õî¤ô¢¬ô. Þð¢ªð£¿¶ main ( ) function ù¤¬ù è£Âé¢è÷¢. Üî¤ô¢ ºîô¤ô¢ JavaDrawFrame Frame=new JavaDrawFrame(‘JavaDraw!‘); âù¢Á ªè£´è¢èð¢ð좴 å¼ Frame à¼õ£è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î Frame-ù¢ «ñô¢ ïñ¢º¬ìò WidgetPanel-ñ¢ ñø¢Áñ¢ õ¬ó»ñ¢ Þìºñ¢ õó«õí¢´ñ¢. âù«õ JavaDraw applet_javadraw = new JavaDraw ( ); âù¢Á ªè£´î¢¶ ïñ¢º¬ìò JavaDraw Class -ø¢° å¼ Object-®¬ù à¼õ£è¢° è¤ù¢«ø£ñ¢. Þõ¢õ£Á ªè£´è¢°ñ¢ ªð£¿¶ JavaDraw Class-ù¢ Ýóñ¢ðî¢î¤ô¤¼ï¢¶ ï£ñ¢ à¼õ£è¢è¤ò Variable èÀñ¢ ñø¢Áñ¢ method èÀñ¢ applet_javadraw âÂñ¢ Object -®ù¢ à÷¢ õõ¤´ñ¢. Þï¢î Object ®¬ù ïñ¢º¬ìò Frame-ù¢ Center Align ݰñ¢ð®è¢° add ªêò¢è¤ù¢«ø£ñ¢. ܴ applet_javadraw.init( ); frame.Show( ); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. frame.Show( ) ªêò¢õîø¢° ºù¢ init( ) function -ù¤¬ù Þò袰è¤ù¢«ø£ñ¢. init function ô¢ Applet -¬ù resize ªêò¢¶ õ¤ì¢´ BorderLayout-®ô¢ õ¼ñ¢ð® ܬñè¢è¤ù¢«ø£ñ¢. ܴ WidgetPanel( ) Class -ù¢ Object åù¢¬ø à¼õ£è¢è¤ Üî¬ù North ðè¢èî¢î¤ô¢ add ªêò¢è¤ù¢«ø£ñ¢. Mouse -¬ù Click ªêò¢¶ Drag ªêò¢»ñ¢ ªð£¿¶ õ¬óò«õí¢´ñ¢. ݬèò£ô¢
  • 93. 93 addMouseListener(getMouseListener ( )); addMouseMotionListener(getMouseMotion Listener ( )); âù¢Á Þóí¢´ MouseListener-è¬÷ Þò袰è¤ù¢«ø£ñ¢. Þ¬õ º¬ø«ò âð¢ªð£¿ªîô¢ô£ñ¢ Mouse -¬ù Click ªêò¢è¤ù¢«ø£«ñ£ Üð¢ªð£¿ªîô¢ô£ñ¢ MousePressed âù¢Âñ¢ Event -¬ù»ñ¢, MouseReleased event ®¬ù»ñ¢ Ü«î«ð£ô¢ MouseDraged Event-¬ù»ñ¢ Þò袰è¤ù¢ø¶. ï£ñ¢ âð¢ªð£¿ªîô¢ô£ñ¢ mouse -¬ù Click ªêò¢è¤ù¢«ø£«ñ£ Üð¢ªð£¿¶ mousePressed Event Þò颰è¤ù¢ø¶. Üî¤ô¢ ï£ñ¢ âï¢î Þìî¢î¤ô¢ Click ªêò¢è¤ù¢ «ø£ñ¢ âù¢ø ñî¤ð¢ð¤¬ù e.getX( ) ñø¢Áñ¢ e.getY( ) Ýè¤ò function-è÷¤ù¢ õ£ò¤ô£è oldX, oldY Ýè¤ò variable-è÷¤ô¢ ðî¤ï¢¶ ¬õè¢è¤ù¢«ø£ñ¢. ܴ ï£ñ¢ mouse - ä Drag ªêò¢»ñ¢ ªð£¿¶ mouseDragged Event Þò颰è¤ù¢ø¶ Üî¤ô¢ îø¢ªð£¿¶ mouse Ýù¶ â颰 Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù e.getX( ) ñø¢Áñ¢ e.getY( ) Ýè¤ò function-è÷¤ù¢ Íôñ¢ ªðø¢Á JavaDraw.this.draw (e.getX( ), e.getY( ) ); âù¢Á ï£ñ¢ â¿î¤ò¤¼è¢è¤ù¢ø function -ù¤¬ù Þò袰è¤ù¢«ø£ñ¢. Þï¢î draw function-ô¢ î£ù¢ ï£ñ¢ ܬù à¼õé¢è¬÷»ñ¢ õ¬óõîø¢è¢°ø¤ò ¹«ó£è¤ó£ñ¤¬ù â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Draw Function ô¢ ºîô¤ô¢ Graphics g=getGraphics( ); âù¢Á ªè£´î¢¶ Graphics Class -ø¢° å¼ Object -®¬ù à¼õ£è¢è¤è¢ ªè£÷¢Àè¤ù¢«ø£ñ¢. Þï¢î Graphics Class -ô¢ î£ù¢ Line, Rectangle, Oval âù¢Á ܬù õ¤îñ£ù ðìé¢è¬÷»ñ¢ õ¬óõîø¢°ø¤ò function -è÷¢ Þ¼è¢è¤ù¢øù. ܴ boolean fill= guiPanel.isFilled( ), threeD= guiPanel.isThreeD( ); Ýè¤ò Fucntion -è÷¤¬ù Þòè¢è¤, WidgetPanel-ô¢ à÷¢÷ Þóí¢´ CheckBox-è÷¢ Tick ªêò¢òð¢ð좴÷¢÷ùõ£, Þô¢¬ôò£ âù¢ðî¬ù Üø¤è¤ù¢«ø£ñ¢. FillCheckBox Tick ªêò¢òð¢ð좮¼ï¢î£ô¢ õ¬óè¤ù¢ø ðìé¢è÷¤ô¢ Color Ýù¶ ï¤óð¢ðð¢ð좴 õ¼ñ£Á ¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. ܬî𢠫ð£ô«õ threeDCheckBox click ªêò¢òð¢ð좮¼ï¢î£ô¢ õ¬óòð¢ð´ñ¢ ðìé¢è÷¤ô¢ 3D Effect -è÷¢ õ¼ñ¢ð® ¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. switch(guiPanel.getShape()) âù¢Á switch Statement ªè£´è¢èð¢ð좮¼ð¢ ð¬îè¢ èõù¤»é¢è÷¢. ï£ñ¢ âï¢î Item î¢î¤¬ù, Shape âÂñ¢ Choice -ô¢ Select ªêò¢î¤¼è¢è¤ù¢«ø£«ñ£ Üîø¢è¢°ø¤ò number-¬ù getShape function î¼è¤ù¢ø¶. Üî¬ù ï£ñ¢ åõ¢ªõ£Á case Ýè êó¤ð£ó¢î¢¶ Line âù¢Á Þ¼ð¢ð¤ù¢ Line õ¬óõîø¢°ø¤ò function -ù¤¬ù»ñ¢ Rect âù¢Á ªè£´î¢î£ô¢ Rectangle
  • 94. 94 õ¬óõîø¢è¢°ø¤ò ¹«ó£è¤ó£ñ¤¬ù»ñ¢ âù¢Á õó¤¬êò£è ܬù Option è÷¤ø¢°ñ¢ ¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢ Þ颰 ðòù¢ð´î¢îð¢ð´ñ¢ function è÷¤ô¢ oldX, oldY âù¢ð¶ ï£ñ¢ mouse -¬ù ºîô¤ô¢ â颰 Click ªêò¢«î£«ñ£ Üï¢î ñî¤ð¢¹ ݰñ¢. ñ£ø£è x, y âù¢ð¶ ï£ñ¢ îø¢ªð£¿¶ âï¢î Þìî¢î¤ô¢ Þ¼è¢è¤ù¢«ø£«ñ£ Üï¢î ñî¤ð¢¹ ݰñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. Þ¼î¤ò£è Mouse -¬ù Release ªêò¢»ñ¢ ªð£¿¶ Mouse Released function Þò颰è¤ù¢ø¶. Þî¤ô¢ Update(getGraphics( )) âù¢ø function-¬ù ðòù¢ð´î¢î¤ ò¤¼è¢è¤ù¢«ø£ñ¢. Þ¶ repaint( ) function-¬ù «ð£ô«õ paint function-¬ù Þò袰è¤ù¢ø¶.
  • 95. 95 Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 5. Swing - Java Foundation Classes (JFC) Þ¶õ¬ó ï£ñ¢ Abstract windowing ToolKit (awt) âÂñ¢ Package -ô¢ à÷¢÷ Class -è¬÷ð¢ ðòù¢ð´î¢î¤ ¹«ó£è¤ó£ñ¢è¬÷ â¿î¤ õî£ñ¢. Þï¢î awt Package-ô¢ à÷¢÷ Label, TextField, Choice, Button ºîô£ù Component -è¬÷𢠫ð£ù¢Á Þòé¢èè¢Ã®ò, Üî¬ùè¢ è£ì¢®½ñ¢ Üöè£è¾ñ¢, ê¤øð¢ð£è¾ñ¢ Þòé¢èé¢Ã®ò, ðô ôîô¢ Component -è¬÷»ñ¢ ªè£í¢ì ðô¢«õÁ Class è÷¤ù¢ ªî£°ð¢ð¤¬ùî¢î£ù¢ Üî£õ¶ Package ¬ùî¢î£ù¢ Java foundation Classes (JFC) âù¢Á ܬöè¢è¤ù¢«ø£ñ¢. Þî¬ù Swing âù¢Áñ¢ õöé¢èô£ñ¢. ê£îóíñ£è awt ò¤ô¢ TextField âù¢Á class Þ¼ð¢ð¤ù¢, Swing -ô¢ JTextField âù¢Á class ޼袰ñ¢. Üî£õ¶ Swing Package -ô¢ à÷¢÷ ܬù class - èÀñ¢ J âù¢ø â¿î¢î¤ô¢ Ýóñ¢ð¤è¢è¤ù¢øù. Þù¤ swing class -è¬÷ð¢ ðòù¢ð´î¢î¤ âõ¢õ£Á ¹«ó£è¤ó£ñ¢è¬÷ à¼õ£è¢°õ¶ âùè¢ è£íô£ñ¢. Listing 5.1 import javax.swing.*; import java.awt.*; public class swg1 extends JApplet { public void init() { JLabel lbl_name=new JLabel(“Name: “); JTextField txt_name=new JTextField(); JLabel lbl_age=new JLabel(“Age: “); JTextField txt_age=new JTextField(); GridLayout xyz=new GridLayout(2,2); getContentPane().setLayout(xyz);
  • 96. 96 getContentPane().add(lbl_name); getContentPane().add(txt_name); getContentPane().add(lbl_age); getContentPane().add(txt_age); } } Swing è¤ô¢ à÷¢÷ component -è¬÷ð¢ ðòù¢ð´î¢î «õí¢´ñ£ù£ô¢ import javaX.swing.*; âù¢Á ªè£´î¢¶ Swing Package-¬ù ºîô¤ô¢ Import ªêò¢¶ ªè£÷¢÷ «õí¢´ñ¢. Þï¢î ¹«ó£è¤ó£ñ£ù¶ å¼ Applet ݰñ¢. public class swg1 extends JApplet âù¢Á ªè£´è¢èð¢ ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. JFC Component- è¬÷ð¢ ðòù¢ ð´î¢î¤ Applet â¿î «õí¢´ñ¢ âù¤ô¢ Þï¢î JApplet class -¬ùî¢î£ù¢ ðòù¢ ð´î¢î«õí¢´ñ¢. init ( ) function -ù¢ à÷¢ JLabel, JTextField Ýè¤ò class è¬÷ð¢ ðòù¢ð´î¢î¤ lbl_name, txt_name, lbl_age, txt_age ºîô¤ò Object-è÷¢ à¼õ£è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¬õ ê£î£óíñ£è awt Package-ô¢ ï£ñ¢ ðòù¢ð´î¢î¤ò º¬øò¤«ô«ò Þò颰ñ¢. Ýù£ô¢ Þõø¢ø¤ù¢ õ®õî¢î¤ô¢ ïô¢ô õ¤î¢î¤ò£êñ¢ ªîó¤»ñ¢. ܴ 2 Row ñø¢Áñ¢ 2 Column Ü÷¾è¬÷è¢ ªè£í¢ì GridLayout åù¢Á xyz âù¢Áñ¢ ªðòó¤ô¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢ø¶. ð¤ù¢ùó¢ getContentPane( ).SetLayout(xyz); getContentPane( ).Add(lbl_name); âù¢ø õ¬èò¤ô¢ Object-è÷¢ add ªêò¢òð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î getContentPane( ) âù¢ð¶ Swing Component -è¬÷ ¬èò£÷¢õîø¢°è¢ªèù¢«ø Þ¼è¢èè¢ Ã®ò å¼ container ݰñ¢. ÞîÂ÷¢ î£ù¢ ï£ñ¢ ïñ¶ ܬù Swing object -è¬÷»ñ¢ add ªêò¢ò «õí¢´ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ¹«ó£è¤ó£ñ¤¬ù õöè¢èñ¢ «ð£ô¢ compile ªêò¢¶ å¼ HTML file-¬ù à¼õ£è¢è¤ appletviewer ø¤ù¤«ô£ Üô¢ô¶ Browser ø¤ù¤«ô£ Þòè¢è¤ð¢ ð£¼é¢è÷¢.
  • 97. 97 ðì‹ðì‹ðì‹ðì‹ðì‹ 5.1 Listing 5.2 import javax.swing.*; import java.awt.*; public class swg2 { public static void main(String argv[]) { JFrame abc=new JFrame(“Hello”); JLabel lbl_name=new JLabel(“Name: “); JTextField txt_name=new JTextField(); JLabel lbl_age=new JLabel(“Age: “); JTextField txt_age=new JTextField(); GridLayout xyz=new GridLayout(2,2); abc.getContentPane().setLayout(xyz); abc.getContentPane().add(lbl_name); abc.getContentPane().add(txt_name); abc.getContentPane().add(lbl_age); abc.getContentPane().add(txt_age);
  • 98. 98 abc.resize(200,100); abc.show(); } } Þï¢î ¹ó£è¤ó£ñ¢ å¼ Swing Application Ýè â¿îð¢ð좴÷¢÷¶. main( ) function -ù¤ù¢ à÷¢ JFrame abc=new JFrame(‘Hello’); âù¢Á ªè£´è¢èð¢ð좴 å¼ Swing à¼õ£è¢èð¢ð좮¼è¢è¤ù¢ø¶. ð¤ù¢ùó¢ JLabel ñø¢Áñ¢ JTextFieldÝè¤ò Class-è¬÷ð¢ ðòù¢ð´î¢î¤ lbl_name,txt_name,lbl_age,txt_ageÝè¤ò Object -è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. Þî¬ùî¢ ªî£°î¢¶ 2,2âù¢ø Ü÷¾¬ìò GridLayout åù¢Á xyz âù¢Âñ¢ ªðòó¤ô¢ à¼õ£è¢èð¢ ð좮¼è¢è¤ù¢ø¶. ÞÁî¤ò¤ô¢ abc âù¢Âñ¢ Frame- ô¢ Object-è¬÷ ªð£¼î¢¶õîø¢è¢è£è abc.getContentPane( ).SetLayout(xyz); abc.getContentPane( ).Add(lbl_name); âù¢ø õ¬èò¤ô¢ Object -è÷¢ add ªêò¢òð¢ð´è¤ù¢øù. ÞÁî¤ò£è Frame Ýù¶ Show ªêò¢òð¢ð´è¤ù¢ø¶. Þï¢î𢠹«ó£è¤ó£ñ¤¬ù õöè¢èñ¢ «ð£ô¢ Compile ªêò¢¶ îava swg2 âù¢Á ªè£´î¢¶ Þòè¢è¤ð¢ ð£¼é¢è÷¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 5.2
  • 99. 99 Listing 5.3 import javax.swing.*; import java.awt.*; public class swg3 { public static void main(String arg[]) { JFrame abc=new JFrame(“Hello”); Icon i_one=new ImageIcon(“bullet1.gif”); Icon i_two=new ImageIcon(“bullet2.gif”); Icon i_three=new ImageIcon(“bullet3.gif”); Icon i_four=new ImageIcon(“bullet4.gif”); JButton but_one=new JButton(“One”,i_one); JButton but_two=new JButton(“Two”,i_two); JComboBox com_one=new JComboBox(); com_one.addItem(“Tamil Nadu”); com_one.addItem(“Andra Pradesh”); com_one.addItem(“Karnataka”); com_one.addItem(“Maharastra”); com_one.addItem(“Orisa”); JComboBox com_two=new JComboBox(); com_two.addItem(“India”); com_two.addItem(“Pakistan”); ButtonGroup sex=new ButtonGroup(); JRadioButton male=new JRadioButton(“Male”,i_three); JRadioButton female=new JRadioButton(“Female”,i_four); sex.add(male); sex.add(female);
  • 100. 100 JCheckBox chk_one=new JCheckBox(“Tamil/English”); JCheckBox chk_two=new JCheckBox(“Computer/ Manual”); GridLayout xyz=new GridLayout(4,2); abc.getContentPane().setLayout(xyz); abc.getContentPane().add(but_one); abc.getContentPane().add(but_two); abc.getContentPane().add(com_one); abc.getContentPane().add(com_two); abc.getContentPane().add(male); abc.getContentPane().add(female); abc.getContentPane().add(chk_one); abc.getContentPane().add(chk_two); abc.resize(400,200); abc.show(); } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ Icon JButton, JComboBox, ButtonGroup, JRadioButton, JCheckBox Ýè¤ò Swing Class -è÷¢ õ¤÷è¢èð¢ð좴÷¢÷ù. Þî¤ô¢ Icon Class-ù¢ Object -è¬÷ð¢ ðòù¢ð´î¢î¤ Image file -è÷¤ù¢ gif, jpg, ico, tiff ºîô£ù File è÷¤ô¢ à÷¢÷ ðìé¢è¬÷ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢÷ô£ñ¢. Þõø¢¬ø JButton, JCheckBox âù¢Á Swing Component ðôõø¢ø¤½ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢. JButton class Ýù¶ Push Button object -è¬÷ à¼õ£è¢°õîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. JComboBox class Ýù¶ ðô¢«õÁ Item -è¬÷ îù¢ùèî¢«î ªè£í¢ì Choice åù¢ø¤¬ù à¼õ£è¢èð¢ ðòù¢ð´è¤ù¢ø¶. awt -ò¤ô¢ Checkbox âù¢Âñ¢ å«ó èì¢ì¬÷¬òð¢ ðòù¢ð´î¢î¤ Radio Button ñø¢Áñ¢ Checkbox Ýè¤òõø¢¬ø à¼õ£è¢è¤«ù£ñ¢. Ýù£ô¢ Swing-ô¢ Radio Button-¬ù à¼õ£è¢°õîø¢è¢ªèù¢Á ButtonGroup ñø¢Áñ¢ JRadioButton âù¢Á Þóí¢´ class -è÷¢ Þ¼è¢è¤ù¢øù. Checkbox -ªèù¢Á îù¤ò£è JCheckBox âù¢ø class Þ¼è¢è¤ù¢ø¶. Þ颰 Object -è¬÷ à¼õ£è¢°ñ¢ êñòé¢è÷¤ô¢ Üõø¢ø¤ô¢ Icon - è¬÷ ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
  • 101. 101 ðì‹ðì‹ðì‹ðì‹ðì‹ 5.3 Listing 5.4 import javax.swing.*; import java.awt.*; public class toolbar extends JFrame { public static void main(String argv[]) { toolbar abc = new toolbar(); JMenuBar mymen = new JMenuBar(); JMenu file = new JMenu(“File”); JMenu edit = new JMenu(“Edit”); file.add(new JMenuItem(“New”)); file.add(new JMenuItem(“Open”)); file.add(new JMenuItem(“Close”)); edit.add(new JMenuItem(“Cut”));
  • 102. 102 edit.add(new JMenuItem(“Copy”)); edit.add(new JMenuItem(“Paste”)); mymen.add(file); mymen.add(edit); abc.setJMenuBar(mymen); JToolBar krish=new JToolBar(); Icon ione = new ImageIcon (“bullet1.jpg”); Icon itwo = new ImageIcon (“bullet2.gif”); Icon ithree = new ImageIcon (“bullet3.gif”); Icon ifour = new ImageIcon (“bullet4.gif”); JButton one=new JButton(“One”,ione); JButton two=new JButton(“Two”,itwo); JButton three=new JButton(“Three”,ithree); JButton four=new JButton(“Four”,ifour); krish.add(one); krish.add(two); krish.add(three); krish.add(four); abc.getContentPane().add(krish); abc.setTitle(“Demo Program For Tool Bar”); abc.resize(300,300); abc.show(); } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ Swing -º¬øò¤¬òð¢ ðòù¢ð´î¢î¤ Menu ñø¢Áñ¢ Toolbar Ýè¤òõø¢¬ø à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ¬õ å¼ Frame-ô¢ î£ù¢ õ¼ñ¢ âù¢ðî£ô¢ ºîô¤ô¢ abc âù¢Âñ¢ Frame -¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢.
  • 103. 103 JMenubar class Ýù¶ menu bar-¬ù à¼õ£è¢°õîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. JMenu class -¬ùð¢ ðòù¢ð´î¢î¤ file, edit âù¢Á Þóí¢´ menu-è¬÷ à¼õ£è¢è¤ ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î menu - è÷¤ô¢ JMenuItem class-¬ùð¢ ðòù¢ð´î¢î¤ menu èì¢ì¬÷è¬÷ menu bar à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ¼î¤ò£è menu-è¬÷ MenuBar àìÂñ¢, MenuBar -ø¤¬ù frame àìù¢ Þ¬íî¢î¤¼è¢è¤ù¢«ø£ñ¢. Toolbar-è¬÷ à¼õ£è¢°õîø¢° JToolBar âù¢Âñ¢ èì¢ì¬÷ ðòù¢ð´ è¤ù¢ø¶. Þîù¢ Íôñ¢ Toolbar-è¬÷ à¼õ£è¢è¤ ÜîÂìù¢ ï£ñ¢ îù¤ò£è Button Object-è¬÷ à¼õ£è¢è¤ Þ¬íè¢è «õí¢´ñ¢. Þï¢î Button è÷¤ô¢ ï£ñ¢ Icon- è¬÷ Þ¬íî¢î¤¼è¢è¤ù¢«ø£ñ¢ âù¢ð¬îè¢ èõù¤»é¢è÷¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 5.4 Listing 5.5 import javax.swing.*; import java.awt.*; public class tabbed extends JFrame { Container d = getContentPane(); tabbed()
  • 104. 104 { Icon one = new ImageIcon (“bullet1.gif”); Icon two = new ImageIcon (“bullet2.gif”); Icon three = new ImageIcon (“bullet3.gif”); JTabbedPane country = new JTabbedPane(); country.addTab(“India”,one,new india()); country.addTab(“Pakistan”,two,new pakistan()); country.addTab(“China”,three,new china()); d.add(country); } public static void main(String argv[]) { tabbed xyz = new tabbed(); xyz.setTitle(“Tabbed Demo”); xyz.resize(400,400); xyz.show(); } } class india extends JPanel { JLabel lbl_pre = new JLabel (“President : Mr. K.R. Narayanan”); JLabel lbl_pri = new JLabel (“Prime Minister : Mr. A.B. Vajpayee”); JLabel lbl_chi = new JLabel (“Chief Minister : Mr. M. Karunanidhi”); india() { setLayout(new FlowLayout(FlowLayout.LEFT,10,10)); add(lbl_pre); add(lbl_pri); add(lbl_chi);
  • 105. 105 } } class pakistan extends JPanel { JLabel lbl_pre = new JLabel (“President : General. Parvees Musharaf”); pakistan() { setLayout(new FlowLayout(FlowLayout.LEFT,10,10)); add(lbl_pre); } } class china extends JPanel { JLabel lbl_pre = new JLabel (“President : Giang Gemin”); china() { setLayout(new FlowLayout (FlowLayout.LEFT,10,10)); add(lbl_pre); } } Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ Tabbed Pane âù¢ø¬öè¢èð¢ð´ñ¢ Component-è÷¢ õ¤÷è¢èð¢ð좴÷¢÷ù. Þî¬ù ªè£í¢´ ðô ðè¢èé¢è¬÷è¢ ªè£í¢ì ܬñð¢ð¤¬ù à¼õ£è¢è Þò½ñ¢. public class tabbed extends JFrame âù¢Á ªè£´î¢¶ JFrameclassàìù¢inheritanceªêò¢òð¢ð좮¼ð¢ðî£ô¢ main()function-ô¢xyz âù¢ø Object à¼õ£°ñ¢ ªð£¿«î Frame -ñ¢ à¼õ£è¤õ¤´è¤ù¢ø¶ ñø¢Áñ¢ Constructor function-ñ¢ î£ù£è Þò颰è¤ù¢ø¶. Þï¢î Constructorfunction -ô¢ ï£ñ¢ one,two,three âù¢Á Íù¢Á IconObject-è¬÷bullet1.gif,bullet2.gif,bullet3.gif âù¢ø file -è¬÷è¢ ªè£í¢´
  • 106. 106 à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. ð¤ù¢ùó¢ JTabbedPane country= new JTabbedPane( ); âù¢Á ªè£´î¢¶ country âù¢Âñ¢ Object-®¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Object- ®ô¢ ï£ñ¢ ðô¢«õÁ tab ðè¢èé¢è¬÷ Þ¬íè¢è º®»ñ¢. Üï¢î ðè¢èé¢è÷¢ å¼ Panel Ýè Þ¼è¢è «õí¢´ñ¢. âù«õ ï£ñ¢ class india extends JPanel ........... class pakistan extends JPanel ........... class china extends JPanel ........... Ýè¤ò Class è¬÷ à¼õ£è¢è¤ Üõø¢ø¤ù¢ Object -è¬÷ country.add(‘India’,one,newindia()); country.add(‘Pakistan’, two, new pakistan( )); country.add(‘China’, three, new china( )); âù¢Á ªè£´î¢¶ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. ¹«ó£è¤ó£ñ¤ù¢ Ýóñ¢ðî¢î¤ô¢ container d= getContentPane( ) âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î Container Object -è÷¢ getContentPane( ) âÂñ¢ Layout ®ô¢ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢Àñ¢ î¤øù¢ ð¬ìî¢î¬õ. ï£ñ¢ d.add(country) âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ àí¢¬ñò¤ô¢ ïñ袰 getContentPane( ) -ô¢ î£ù¢ ïñ¢º¬ìò Object -è÷¢ Align Ýè¤ù¢ø¶ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 5.5
  • 107. 107 Listing 5.6 import java.awt.*; import javax.swing.*; import javax.swing.tree.*; public class maram extends JFrame { maram() { Container x=getContentPane(); //********** DefaultMutableTreeNode country = new DefaultMutableTreeNode (“Country”); //********** DefaultMutableTreeNode india = new DefaultMutableTreeNode (“India”); DefaultMutableTreeNode pakistan = new DefaultMutableTreeNode (“Pakistan”); DefaultMutableTreeNode america = new DefaultMutableTreeNode (“America”); DefaultMutableTreeNode china = new DefaultMutableTreeNode (“China”); //*********** DefaultMutableTreeNode tamil = new DefaultMutableTreeNode (“Tamil”); DefaultMutableTreeNode andra= new DefaultMutableTreeNode (“Andra”); DefaultMutableTreeNode karnataka= new DefaultMutableTreeNode (“Karnataka”); DefaultMutableTreeNode bihar= new DefaultMutableTreeNode (“Bihar”);
  • 108. 108 //*********** DefaultMutableTreeNode lahore = new DefaultMutableTreeNode (“Lahore”); DefaultMutableTreeNode karachi = new DefaultMutableTreeNode (“Karachi”); DefaultMutableTreeNode sindhu = new DefaultMutableTreeNode (“Sindhu”); //********** DefaultMutableTreeNode chennai = new DefaultMutableTreeNode (“Chennai”); DefaultMutableTreeNode madurai = new DefaultMutableTreeNode (“Madurai”); DefaultMutableTreeNode trichy = new DefaultMutableTreeNode (“Trichy”); country.add(india); country.add(pakistan); country.add(america); country.add(china); india.add(tamil); india.add(andra); india.add(karnataka); india.add(bihar); pakistan.add(lahore); pakistan.add(karachi); pakistan.add(bihar); tamil.add(chennai); tamil.add(madurai); tamil.add(trichy);
  • 109. 109 JTree countrymaram = new JTree(country); x.add(countrymaram); } public static void main(String argv[]) { maram abc = new maram(); abc.setTitle(“Tree View Example”); abc.resize(400,400); abc.show(); } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ Treeview âù¢ø¬öè¢èð¢ð´ñ¢ Component-è÷¢ õ¤÷è¢èð¢ ð좴÷¢÷ù. Treeview âù¢ð¶ å¼ Item î¢î¤ø¢°÷¢ ñø¢ªø£Á Item âù¢Á åù¢øù¢ð¤ù¢ åù¢ø£è à÷¢«÷ ªêô¢½ñ¢ð® ޼袰ñ¢ ܬñ𢹠ݰñ¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 5.6
  • 110. 110 Treeview -¬ùð¢ ðòù¢ð´î¢î «õí¢´ñ¢ âù¤ô¢ javax.swing.tree.* âù¢Âñ¢ Package-¬ù import ªêò¢ò «õí¢´ñ¢. ãªùù¤ô¢ JTree ñø¢Áñ¢ DefaultMutableTreeNode ºîô£ù class -è÷¢ Þï¢î Package-ô¢î£ù¢ Þ¼è¢è¤ù¢øù. ïñ袰 JTreeView Component-®ù¢ à÷¢ âù¢ªùù¢ù Item-è÷¢ õó «õí¢´«ñ£ Üõø¢¬ø à¼õ£è¢°õîø¢è¢° DefaultmutableTreeNode èì¢ì¬÷ð¢ðòù¢ ð´è¤ù¢ø¶. Þî¬ùð¢ ðòù¢ð´î¢î¤ «î¬õò£ù Item è¬÷ à¼õ£è¢è¤òð¤ù¢ âîï¢î Item è÷¢ âîªùîù¢ à÷¢ õó«õí¢´ñ¢ âù¢ðî¬ùè¢ è¦«ö ªè£´è¢èð¢ ð좴÷¢÷¶ «ð£ô¢ ªè£´î¢¶ add ªêò¢¶ ªè£÷¢Àé¢è÷¢. country.add(india); country.add(pakistan); country.add(america); country.add(china); india.add(tamilnadu); ..... Þ¼î¤ò£è JTree countrymaran = new JTree(country); âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ âï¢î Item Treeview õ¤ù¤ô¢ ºîô¤ô¢ õó«õí¢´ñ¢ âù¢Á Ãø¤ò¤¼è¢ è¤ù¢«ø£ñ¢. Üîù¢ð® country Ýù¶ countrymaran âÂñ¢ Object-®ô¢ Top Level Object Ýè õ¤÷颰è¤ù¢ø¶. Listing 5.7 import javax.swing.*; import javax.swing.table.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.Dimension; public class Table { public Table() { JFrame frame = new JFrame(“Table”); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {
  • 111. 111 System.exit(0); } } ); // Take the dummy data from SwingSet. final String[] names = {“First Name”, “Last Name”, “Favorite Color”,“Favorite Number”, “Vegetarian”}; final Object[][] data = { {“Mark”, “Andrews”, “Red”, new Integer(2), new Boolean(true)}, {“Tom”, “Ball”, “Blue”, new Integer(99), new Boolean(false)}, {“Alan”, “Chung”, “Green”, new Integer(838), new Boolean(false)}, {“Jeff”, “Dinkins”, “Turquois”, new Integer(8), new Boolean(true)}, {“Amy”, “Fowler”, “Yellow”, new Integer(3), new Boolean(false)}, {“Brian”, “Gerhold”, “Green”, new Integer(0), new Boolean(false)}, {“James”, “Gosling”, “Pink”, new Integer(21), new Boolean(false)}, {“David”, “Karlton”, “Red”, new Integer(1), new Boolean(false)}, {“Dave”, “Kloba”, “Yellow”, new Integer(14), new Boolean(false)}, {“Peter”, “Korn”, “Purple”, new Integer(12), new Boolean(false)}, {“Phil”, “Milne”, “Purple”, new Integer(3), new Boolean(false)}, {“Dave”, “Moore”, “Green”, new Integer(88), new Boolean(false)}, {“Hans”, “Muller”, “Maroon”, new Integer(5), new Boolean(false)}, {“Rick”, “Levenson”, “Blue”, new Integer(2), new Boolean(false)}, {“Tim”, “Prinzing”, “Blue”, new Integer(22), new Boolean(false)}, {“Chester”, “Rose”, “Black”, new Integer(0), new
  • 112. 112 Boolean(false)}, {“Ray”, “Ryan”, “Gray”, new Integer(77), new Boolean(false)}, {“Georges”, “Saab”, “Red”, new Integer(4), new Boolean(false)}, {“Willie”, “Walker”, “Phthalo Blue”, new Integer(4), new Boolean(false)}, {“Kathy”, “Walrath”, “Blue”, new Integer(8), new Boolean(false)}, {“Arnaud”, “Weber”, “Green”, new Integer(44), new Boolean(false)} }; // Create a model of the data. TableModel dataModel = new AbstractTableModel() { // These methods always need to be implemented. public int getColumnCount() { return names.length; } public int getRowCount() { return data.length;} public Object getValueAt(int row, int col) {return data[row][col]; } // The default implementations of these methods in // AbstractTableModel would work, but we can refine them. public String getColumnName(int column) {return names[column];} public Class getColumnClass(int col) {return getValueAt(0,col).getClass();} public boolean isCellEditable(int row, int col) {return (col==4);} public void setValueAt(Object aValue, int row, int column) { data[row][column] = aValue; }
  • 113. 113 }; // Instead of making the table display the data as it would nor- mally with: // JTable tableView = new JTable(dataModel); // Add a sorter, by using the following three lines instead of the one above. JTable tableView = new JTable(dataModel); JScrollPane scrollpane = new JScrollPane(tableView); scrollpane.setPreferredSize(new Dimension(700, 300)); frame.getContentPane().add(scrollpane); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { new Table(); } } Þï¢î ¹«ó£è¤ó£ñ¤ô¢ table âù¢ø¬öè¢èð¢ð´ñ¢ Component õ¤÷è¢èð¢ ð좴÷¢÷¶. table -è÷¤ô¢ ïñ¢ñ£ô¢ Record-è¬÷ display ªêò¢¶ ªè£÷¢÷ º®»ñ£îô£ô¢ Þîù¢ ðòù¢ð£´ Þù¢ø¤ò¬ñò£îî£è¤ø¶.Table Component-®¬ù ï£ñ¢ ðòù¢ð´î¢î «õí¢´ñ£ù£ô¢ ºîô¤ô¢ javax.swing.table.* âù¢ø Package -¬ù import ªêò¢ò «õí¢´ñ¢. Þ颰 Table âù¢ªø£¼ class â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. main function-ô¢ ޼ å¼ ¹î¤ò Object-¬ù à¼õ£è¢°è¤ù¢«ø£ñ¢.Üð¢ªð£¿¶ ïñ袰 Constructor function Þò颰è¤ù¢ø¶. Üî¤ô¢ ï£ñ¢ ºîô¤ô¢ JFrame frame = new JFrame(‘Table’); âù¢Á ªè£´î¢¶ å¼ frame-¬ù à¼õ£è¢è¤è¢ ªè£÷¢è¤«ø£ñ¢. ð¤ù¢ final String [ ] names... âù¢Á ªè£´î¢¶ å¼ String array ò¤¬ù à¼õ£è¢è¤ Üî¤ô¢ ïñ¶ Table -ô¢ õó ޼袰ñ¢ Title-è÷¤ù¢ ªðòó¢è¬÷ð¢ ðî¤è¢è¤ù¢«ø£ñ¢. ܴ final object [ ][ ] data ....... âù¢Á ªè£´î¢¶ å¼ array ò¤¬ù à¼õ£è¢è¤ Üî¤ô¢ ïñ¶ Table ø¢° «î¬õò£ù îèõô¢è÷¢ ܬùî»ñ¢ õó¤¬êò£è ðî¤ï¢¶ ¬õî¢î¤¼è¢ è¤ù¢«ø£ñ¢. Þï¢î Object data type ¬ùð¢ ðòù¢ð´î¢î¤«ò Table Java-15
  • 114. 114 ø¢°î¢ «î¬õò£ù ܬù îèõô¢è¬÷»ñ¢ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢÷«õí¢´ñ¢. ܴ TabelModel datamodel=new AbstractTableModel( ) { ...... } âù¢Á å¼ èì¢ì¬÷î¢ ªî£°ð¢¹ ªè£´è¢èð¢ ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î TableModel ñø¢Áñ¢ ÞîÂ÷¢ ޼袰ñ¢ ܬù function è¬÷»ñ¢ ¬õî Table-ù¢ ܬù Þòè¢èé¢è¬÷»ñ¢ è좴ð¢ð´î¢¶è¤ù¢«ø£ñ¢. JTable tableview = new JTable (datamodel); âù¢Á ªè£´î¢¶ ï£ñ¢ tableview âù¢Âñ¢ Object-¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î table Ýù¶ datamodel âÂñ¢ Object ô¢ à÷¢÷ îèõô¢ è¬÷ð¢ ðòù¢ð´î¢î¤ ªè£÷¢è¤ù¢ø¶. ܴ JScrollPane scrollpane = new JScrollPane(tableview); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î scrollpane Component Ýù¶ âï¢î å¼ Object-®¬ù»ñ¢ frame-ù¢ à÷¢ scroll ªêò¢»ñ¢ ð® ªêò¢õîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. Þ颰 ï£ñ¢ à¼õ£è¢èò¤¼è¢è¤ù¢ø table-¬ù scrollpane-ù¢ à÷¢ «ð£ì¢®¼è¢è¤ù¢«ø£ñ¢. Þ¼î¤ò£è Þï¢î Scroll Pane -¬ù ï£ñ¢ ïñ¢º¬ìò frame- Â÷¢ add ªêò¢¶ õ¤´è¤ù¢«ø£ñ¢. Þ¶ Þò颰ñ¢ ªð£¿¶ 700, 300 âù¢ø ï¦÷, Üèôî¢î¤ô¢ Þò颰ñ£Á Dimension ܬñè¢èð¢ð좴÷¢÷¶. Classes Provided in the Swing Componenet Package Component Description Japplet Implements a Java applet. JAppletBeanInfo Provides information about JApplett to bean-based tools. JButton Implements a button component. JButtonBeanInfo Provides information about JButton for bean-based tools. JCheckBox Implements a check-box component. JCheckBoxBeanInfo Provides information about JCheckBox for bean-based tools. JCheckBoxMenuItem Implements a check-box menu item.
  • 115. 115 JCheckBoxMenuItemBeanInfo Provides information about JCheckBoxMenuItem for bean-based tools. JColorChooser Displays and manages a color-chosser dialog. JColorChooserBeanInfo Provides information about JColorChooser for bean-based tools. JComboBox Implements a combo-box component. JComboBoxBeanInfo Provides information about JComboBox for bean-based tools. JComponent The mother of all Swing components. JComponentBeanInfo Provides information about JComponent for bean-based tools. JDesktopIcon Displays in iconified version of a JInternalFrame. JDesktopIconBeanInfo Provides information about JDesktopIcon for bean-based tools. JDesktopPane Provides a pluggable DesktopManager object for JInternal Frame Objects. JDesktopPaneBean Provides information about JDesktopPane for bean-based Info tools. JDialog Adds enhancements to java.awt.Dialog. JDialogBeanInfo Provides information about JDialog for bean-based tools. JFileChooser Implements a file-chooser dialog box. JFileChooserBeanInfo Provides information about JFileChooser for bean-based tools. JFrame Adds enhancements to java.awt.Frame. JFrameBeanInfo Provides information about JFrame for bean-based tools. JInternalFrame Implements a frame object that can be placed inside a JDestopPane object to emulate a native frame window. JInternalFrameBeanInfo Provides information about JInternalFrame for bean-based tools. JLabel Creates a display area for displaying
  • 116. 116 read-only text, an image, or both. JLabelBeanInfo Provides information about JLabel for bean-based tools. JLayeredPane Can display multiple layered panes (JInternalFrameobjects) inside a frame. JLayeredPaneBeanInfo Provides information about JLayeredPane for bean-based tools. JList Allows the user to selcect one or more objects from a list. A separate mode, ListModel, represents the contents of the list. JListBeanInfo Provides information about JList for bean-based tools. JMenu Implements a menu component. JMenuBeanInfo Provides information about JMenu for bean-based tools. JMenuBar Implements a menu bar component. JMenuBarBeanInfo Provides information about JMenuBar for bean-based tools. JMenuItem Implements a menu item component. JMenuItemBeanInfo Provides information about JMenuItem for bean-based tools. JOptionPane Displays a dialog box that prompts the user for a choice ane then passes that choice on to the executing program. JOptionPaneBeanInfo Provides information about JOptionPane for bean-based tools. JPanel Provides a generic container for organizing other components. JPanelBeanInfo Provides information about JPanel for bean-based tools. JPasswordField Displays a field in which the user can type a passord. The text of the pass word does not appear in the field as it is being typed. JPasswordFieldBeanInfo Provides information about JPasswordField for bean-based tools. JPopupMenu Implements a pop-up menu.
  • 117. 117 JPopupMenuBeanInfo Provides information about JPopupMenu for bean-based tools. JProgressBar Implements a progress-bar compo- nent. JProgressBarBeanInfo Provides information about JProgressBar for bean-based tools. JRadioButton Implements a radio-button control. JRadioButtonBeanInfo Provides information about JRadioButton for bean-based tools. JRadioButtonMenuItem Implements a radio-button menu item. JradioButtonMenuItemBeanInfo Provides information about JRadioButtonMenuItem for bean- based tools. JRootPane Instantiates in a single step an object made up of a glass pane, a layered pane, an optional menu bar, and
  • 118. 118 a content pane. JRootPaneBeanInfo Provides information about JRootPane for bean-based tools. JScrollBar Implements a scroll-bar object. JScrollBarBeanInfo Provides information about JScrollBar for bean-based tools. JScrollPane Implements a scroll-pane object. JScrollPaneBeanInfo Provides information about JScrollPane for bean-based tools. JSeparator Implements a menu separator object. JSeparatorBeanInfo Provides information about JSeparator for bean-based tools. JSlider Implements a slider-bar object. JSliderBeanInfo Provides information about JSlider for bean-based tools. JSplitPane Implements a split-pane component. JSplitPaneBeanInfo Provides information about JSplitPane for bean-based tools. JTabbedPane Implements a tabbed-pane (“prop erty-page”) component. JTabbedPaneBeanInfo Provides information about JTabbedPane for bean-based tools. JTable Implements a table component. JTableBeanInfo Provides information about JTable for bean-based tools. JTextArea Implements a multiline ara that can display editable or read-only text. JTextAreaBeanInfo Provides information about JTextArea for bean-based tools. JTextPane Implements a text component that can be marked up with attributes to be represented graphically. JTextPaneBean-Info Provides information about JTextPane for bean-based tools. JToggleButton Implements a two-stage button com ponent. JToggleButtonBeanInfo Provides information about JToggleButton for bean-based tools.
  • 119. 119 JToolBar Implements a dockable, floatable tool bar. JToolBarBeanInfo Provides information about JToolBar for bean-based tools. JToolTip Implements a tool-tip component (a component that can display a short string, such as the name of compo nents or a user tip). JToolTipBeanInfo Provides information about JToolTip for bean-based tools. JTree A component that can display a set of hierarchical data in a graphical outline format. JTreeBeanInfo Provides information about JTree for bean-based tools. JViewport Provides a clipped view of an arbi trarily large component. Used by JScrollPane. JViewportBeanInfo Provides information about JViewport for bean-based tools. JWindow Adds enhancements to java.awt.Window. JWindowBeanInfo Provides information about JWindow for bean-based tools.
  • 120. 120 Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 6. Java Database Connectivity (JDBC) Database âù¢ø£ô¢ âù¢ù âù¢Á àé¢èÀ袰 ïù¢ø£è ªîó¤ï¢î¤¼è¢°ñ¢. îèõô¢è¬÷ å¼ º¬øò£ù õ®õî¢î¤ô¢ (Structure) ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢õ¶ Database ݰñ¢. Oracle, Ms-Sql Server, Ms-Access, Sybale âù¢Á ðô Database ªñù¢ªð£¼ì¢è÷¢ ¹öè¢èî¢î¤ô¢ à÷¢÷ù. Þõø¢ø¤ô¢ ï£ñ¢ ñ¤èî¢î¤ø¬ñò£è îèõô¢è¬÷ ¬èò£÷ º®»ñ¢. ªð£¶õ£è Þî¢î¬èò database-è¬÷ Back end Tool âù¢Á ܬöð¢ð£ó¢è÷¢. Þõø¢ø¤ô¢ îèõô¢è¬÷ð¢ ðî¤ï¢¶ñ¢ ñø¢Áñ¢ Üõø¢ø¤ô¢ ޼ ªðø¢Áè¢ ªè£÷¢Àñ£Áñ¢ ðòù¢ð´î¢¶ñ¢ ªñù¢ªð£¼ì¢è¬÷ front ent tool âù¢Á ܬöð¢ð£ó¢è÷¢. ªð£¶õ£è windows operating system -î¢î¤ô¢ Open Database Connectivity (ODBC) âù¢ø º¬ø åù¢Á à÷¢÷¶. Þï¢î º¬øò¤¬ùð¢ ðòù¢ð´î¢î¤ Visual Basic, Power Builder , Java âù¢Á âï¢î ªñù¢ªð£¼÷¤ô¢ ï¦é¢è÷¢ «õ¬ô ªêò¢î£½ñ¢ Üî¤ô¤¼ï¢¶ Oracle, Access ºîô¤ò Database-èÀìù¢ ªî£ìó¢¹ ªè£÷¢÷ º®»ñ¢. Þï¢î ODBC º¬øò¤¬ù java-¾ìù¢ Þ¬íð¢ðîø¢è¢ªèù¢Á Þ¼è¢è¤ù¢ø èì¢ì¬÷î¢ ªî£°ð¢¹è¬÷î¢î£ù¢ Java Database Connectivity âù¢Á ܬöè¢è¤ù¢«ø£ñ¢. Data Source Name ï£ñ¢ âï¢î Database-¬ù ðòù¢ð´î¢î õ¤¼ñ¢¹è¤ù¢«ø£«ñ£ Üî¬ùð¢ðø¢ø¤ò îèõô¢è¬÷ ºîô¤ô¢ Data Source âù¢Âñ¢ õ®õî¢î¤ô¢ «êèó¤è¢è «õí¢´ñ¢. Þîø¢° Windows-ô¢ à÷¢÷ Control Panel ø¢° ºîô¤ô¢ ªêô¢ô «õí¢´ñ¢. Ü颰 ODBC Data Source âù¢Âñ¢ tool Ýù¶ Þîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. â´î¢¶è¢è£ì¢ì£è Þð¢ªð£¿¶ ï£ñ¢ Microsoft Access Database-ô¢ à÷¢÷ å¼ MDB file-ô¢ ޼袰ñ¢ Table -ô¤¬ù Java ¹«ó£è¤ó£ñ¢ õö¤ò£è JDBC º¬øò¤¬ùð¢ ðòù¢ð´î¢î¤ ¬èò£÷¢õ¬îè¢ è£íô£ñ¢. 覫ö à÷¢÷ ðìé¢è÷¤ô¢ ªè£´è¢èð¢ð좴÷¢÷õ£Á Window-ô¢ à÷¢÷ Control Panel-ô¢ ޼袰ñ¢ ODBC Data Source âù¢Âñ¢ tool-¬ù Þòè¢è¤ Ü颰 ïñ袰 âï¢î Database-ô¢ à÷¢÷ îèõô¢è¬÷ ¬èò£÷ «õí¢´«ñ£ Üîø¢è¢°ø¤ò Device- ¬ù ªîó¤¾ ªêò¢¶ ð¤ù¢ùó¢ Üî¤ô¢ ïñ袰 âï¢î Table «õí¢´«ñ£ Üî¬ù»ñ¢ ªîó¤¾ ªêò¢¶ å¼ DSN ªðòó¤¬ù»ñ¢ ªè£´î¢¶è¢ ªè£÷¢Àé¢è÷¢. Þ颰 ï£ñ¢ Student.mdb âù¢Âñ¢ Access file ø¢° Arshad âù¢Âñ¢ ªðòó¤¬ù ªè£´î¢¶ å¼
  • 121. 121 DSN-ù¤¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Student âù¢Âñ¢ mdb file-ô¢ 覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ô¢ sno, sname, tamil, english, maths âù¢Á field è¬÷»¬ìò table åù¢¬ø à¼õ£è¢è¤ ªè£÷¢Àé¢è÷¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 6.1 ðì‹ðì‹ðì‹ðì‹ðì‹ 6.2
  • 124. 124 Listing 6.1 import java.sql.*; class jdbcdemo { public static void main(String ag[]) { int sno; String sname; int tam,eng,maths,tot; String url=”jdbc:odbc:arshad”; try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); // initialise Connection cn=DriverManager.getConnection(url,””,””); // establishing a connection String sql=”select sno,sname,tamil,english,maths from student”; // forming a query System.out.println(cn.nativeSQL(sql)); Statement s1=cn.createStatement(); // creating a statement object, whill will maintain transactions ResultSet rs=s1.executeQuery(sql); // executing a query and holds the data while(rs.next()) // skips next record { sno=rs.getInt(1); // retriving the fields... sname=rs.getString(2); tam=rs.getInt(3); eng=rs.getInt(4); maths=rs.getInt(5); tot=tam+eng+maths; System.out.println(sno+” “+sname+” “+tam+”
  • 125. 125 “+eng+” “+maths+” “+tot); } cn.close(); }catch(Exception e) { System.out.println(“incorrect query”); } } } Þï¢î ¹«ó£è¤ó£ñ¢ Student âù¢Âñ¢ Access table-ô¢ à÷¢÷ ܬù Record ´è¬÷»ñ¢ display ªêò¢»ñ£Á â¿îð¢ð좮¼è¢è¤ù¢ø¶. ï£ñ¢ JDBC ò¤¬ù ðòù¢ð´î¢î «õí¢´ñ¢ âù¢ø£ô¢ ºîô¤ô¢ import java.sql.*; âù¢Âñ¢ Package-¬ù import ªêò¢¶ ªè£÷¢÷ «õí¢´ñ¢. main ( ) function -ô¢ sno, sname, tam, eng, mat, tot Ýè¤ò variable-è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù. Þõø¢ø¤ô¢ î£ù¢ database Record-è÷¤ô¢ Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷ â´î¢¶ «ð£ì Þ¼è¢è¤ù¢«ø£ñ¢. ºîô¤ô¢ Þï¢î ¹«ó£è¤ó£ñ¢ º¿õ¶ñ¢ try { } catch âù¢Âñ¢ exception- è¬÷ èí¢´ ð¤®è¢°ñ¢ Loop Â÷¢ â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. ªð£¶õ£è try { } Catch -ù¢ à÷¢ ¹«ó£è¤ó£ñ¢ â¿¶ñ¢ªð£¿¶ ¹«ó£è¤ó£ñ¤ù¢ Þòè¢èî¢î¤ô¢ ãî£õ¶ error-è÷¢ ޼袰ñ¢ ðì¢êî¢î¤ô¢ exception âù¢ù âù¢ðî¬ùè¢ ªè£í¢´ îõÁè¬÷ î¢î¤è¢ ªè£÷¢÷ Þò½ñ¢. Þï¢î ¹«ó£è¤ó£ñ¤¬ù ªð£¼î¢îõ¬óò¤ô¢ ܶ Þò颰ñ¢ªð£¿¶ âù¢ù îõÁ ïìï¢î£½ñ¢ Incorrect query âù¢Á õ¼ñ¢ð® â¿îð¢ð좮¼è¢è¤ù¢ø¶. Class.for.name(‘Sun.jdbc.odbc.jdbc.ODBC Driver’); âù¢Á ï£ñ¢ ºîô¤ô¢ ܬù JDBC ¹«ó£è¤ó£ñ¤é¢°è÷¤½ñ¢ ªè£´è¢è «õí¢´ñ¢. ܴ âï¢î Database àìù¢ Þ¬íè¢è «õí¢´ñ¢ âù¢Á ªê£ô¢õ îø¢è¢è£è Connection âÂñ¢ class-ù¢ Object åù¢¬ø DSN ªðòó¤ù¢ ¶¬íè¢ ªè£í¢´ à¼õ£è¢è «õí¢´ñ¢. âù«õ î£ù¢ Connection n=DriverManager.getConnection(url,‘’,’’); âù¢Á à¼õ£è¢èð¢ð좴÷¢÷¶. ܴ ï£ñ¢ record -è¬÷ Table -ô¢ ޼ â´ð¢ðîø¢è¢è£è å¼ SQL query-ò¤¬ù â¿î «õí¢´ñ.¢Üî¬ù ï£ñ¢ å¼
  • 126. 126 variable-ô¢ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢÷ô£ñ¢. âù«õ î£ù¢ String sql=”select sno, sname, tamil, english, maths from Student”; âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î query ò¤¬ù Þò袰õîø¢è¢è£è ºîô¤ô¢ ï£ñ¢ Statement âù¢Âñ¢ Class -ù¢ Object-ä à¼õ£è¢è «õí¢´ñ¢. âù«õ î£ù¢ Statement sl = cn.createStatement( ); âù¢Á à¼õ£è¢è¤ò¤Áè¢è¤ù¢«ø£ñ¢. Þîù¢ ªð£¼÷¢ cn âù¢Âñ¢ Connection Class Object -®ô¢ ï£ñ¢ ªè£´è¢èð¢«ð£°ñ¢ èì¢ì¬÷, Þò颰ñ¢ «õí¢´ñ¢ âù¢ø ªð£¼÷¢ ݰñ¢. ܴ ResultSet rs = sl.executeQuery(Sql); âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î executeQuery èì¢ì¬÷î£ù¢ ïñ¢º¬ìò query ò¤¬ù Þòè¢è¤ database-ô¢ à÷¢÷ record-è¬÷ â´î¢¶ Resultset âù¢Âñ¢ class -ù¢ Object Ýù¶ rs -ô¢ «ð£´è¤ù¢ø¶. Þð¢ªð£¿¶ rs âù¢Âñ¢ Object-®ô¢ Student table-ô¢ à÷¢÷ ܬù record-èÀñ¢ Þ¼è¢è¤ù¢øù. Record Pointer Ýù¶ ºîô¢ Record -®ô¢ Þ¼è¢è¤ù¢ø¶. åõ¢ªõ£¼ record Ýè end of file õ¼ñ÷¾ñ¢ display ªêò¢õîø¢° while(rs.next( )) âù¢Âñ¢ Loop Þòè¢èð¢ð좮¼è¢è¤ù¢ø¶. Þîù¢ à÷¢ åõ¢ªõ£¼ record Ýè Move ݰñ¢ ªð£¿¶ Üï¢îï¢î record -è÷¤ô¢ à÷¢÷ field -è÷¤ô¢ integer data type à÷¢÷õø¢ø¤ô¢ Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷𢠪ð¼õîø¢° getInt( ) âÂñ¢ function Âñ¢ String data type-ô¢ à÷¢÷ ñî¤ð¢¹è¬÷ ªð¼õîø¢° getString( ) âù¢ùñ¢ function -Âñ¢ ðòù¢ð´î¢îð¢ ð좮¼è¢è¤ù¢ø¶. Þõø¢ø¤ô¢ ªè£´è¢èð¢ð좴÷¢÷ 1,2,3, âù¢Âñ¢ âí¢è÷¢ table -è÷¤ô¢ à÷¢÷ field è÷¤ù¢ õó¤¬êò¤¬ùè¢ °ø¤è¢è¤ù¢øù.
  • 127. 127 ðì‹ðì‹ðì‹ðì‹ðì‹ 6.7 Listing 6.2 import java.sql.*; class jdbcstore { public static void main(String argv[]) { String url=”jdbc:odbc:arshad”; try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); Connection connection= DriverManager.getConnection(url,””,””); String sql=”insert into student values (106,’Hameetha’,87,72,64)”; // String sql=”delete from student”; // String sql=”update student set sname=’Simran’ where sno=106"
  • 128. 128 System.out.println(“native form: “ + connection.nativeSQL(sql)); Statement statement= connection.createStatement(); statement.executeUpdate(sql); }catch (Exception ex) { System.out.println(“A problem occured: “ + ex); } } } database-ô¢ ¹î¤ò record-è¬÷ð¢ ðî¤õîø¢è¢°ñ¢, Þ¼è¢è¤ù¢ø record-è¬÷ Delete ªêò¢õîø¢è¢°ñ¢, ãø¢ªèù«õ Þ¼è¢è¤ù¢ø record-è¬÷ update ªêò¢õîø¢°ñ¢ å«ó å¼ ¹«ó£è¤ó£ñ¤é¢ º¬øî£ù¢ ðòù¢ð´è¤ù¢ø¶. ܶ î£ù¢ Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ðòù¢ð´î¢î¢ð¢ð좮¼è¢è¤ù¢ø¶. àé¢èÀ袰 Structured Query Language (SQL) âù¢ø¬öè¢èð¢ð´ñ¢ ªñ£ö¤ ªîó¤ï¢î¤¼ï¢î£ô¢ ñ좴«ñ JDBC ¹«ó£è¤ó£ñ¢è¬÷ ðòù¢ð´î¢¶õ¶ â÷¤î£è ޼袰ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ãªùù¤ô¢ select, insert, update, delete ºîô£ù èì¢ì¬÷è÷¢ Oracle, Access âù¢Á ܬù database è÷¤½ñ¢ å«ó ñ£î¤ó¤ò£è«õ Þò颰è¤ù¢øù. Üõø¢¬øî¢î£ù¢ ï£ñ¢ Þ颰ñ¢ ðòù¢ð´î¢î¤ ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ executeQuery âù¢Á ªè£´ð¢ðîø¢°ð¢ ðî¤ô£è executeUpdate(sql) âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î å¼ èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î¤ insert, update, delete Ýè¤ò «õ¬ôè¬÷ê¢ ªêò¢¶ ªè£÷¢÷ô£ñ¢. Þ颰 Íù¢Á èì¢ì¬÷èÀñ¢ â´î¢¶è¢è£ì¢´è¢è£è ªè£´è¢èð¢ð좴 Üõø¢ø¤ô¢ Þóí¢´ // âù¢Á ªè£´î¢¶ Comment ªêò¢òð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
  • 129. 129 ðì‹ðì‹ðì‹ðì‹ðì‹ 6.8 ¹«ó£è¤ó£ñ¢ Þòé¢è¤ º®î¢î ð¤ù¢ table-ô¢ î°ï¢î ñ£ø¢øé¢è÷¢ ï¬ìð¢ ªðø¢ø¤¼è¢è¤ù¢øùõ£ âù¢ðî¬ùê¢ «ê£î¤î¢¶ð¢ ð£ó¢î¢¶è¢ ªè£÷¢Àé¢è÷¢.
  • 130. 130 Üî¢î¤ò£òñ¢ 7Üî¢î¤ò£òñ¢ 7Üî¢î¤ò£òñ¢ 7Üî¢î¤ò£òñ¢ 7Üî¢î¤ò£òñ¢ 7 Thread Multi tasking âù¢ø õ£ó¢î¢¬îò¤¬ùð¢ðø¢ø¤è¢ «è÷¢õ¤ð¢ð좮¼ð¢ð¦ó¢è÷¢. Üî£õ¶ å«ó «ïóî¢î¤ô¢ ðô «õ¬ôè¬÷ê¢ ªêò¢»ñ¢ º¬ø. ªð£¶õ£è windows operating system Ýù¶ Multitasking º¬øò¤ô¢î£ù¢ «õ¬ôê¢ ªêò¢è¤ù¢ø¶. Þî¤ô¢ ï£ñ¢ å«ó «ïóî¢î¤ô¢ ðô¢«õÁ ªñù¢ªð£¼÷¢è¬÷ Þòè¢è¤è¢ ªè£÷¢÷ô£ñ¢. Micro Processor -ø¤¬ù å«ó «ïóî¢î¤ô¢ ðô «õ¬ôè¬÷ê¢ ªêò¢»ñ¢ñ£Á ¹«ó£è¤ó£ñ¢è÷¢ â¿¶õîø¢° Java-õ¤ô¢ Thread âù¢Âñ¢ Class -ù¢ ªî£°ð¢¹ ðòù¢ð´è¤ù¢ø¶. ï¦é¢è÷¢ Visual Basic -ô¢ Timer âù¢ªø£¼ Tool -ô¤¬ùð¢ ðòù¢ð´î¢î¤ò¤¼è¢è¤ù¢ø¦ó¢è÷£? ãªùù¤ô¢ Thread-ñ¢ Üîù¢ Þòè¢èî𢠫ð£ô«õ î£ù¢ Þò颰è¤ù¢ø¶. Üî£õ¶ Thread Ýù¶ å¼ è®è£óñ¢ ݰñ¢. 覫ö ªè£´è¢èð¢ð좴÷¢÷ ¹«ó£è¤ó£ñ¤ô¢ Thread class ¬ù ðòù¢ð´î¢î¤ å¼ Clock ¹«ó£è¤ó£ñ¢ â¿îð¢ð좴÷¢÷¶. Þï¢î𢠹«ó£è¤ó£ñ¤ù¢ Þòè¢èî¢î¤¬ù ªî÷¤õ£è ¹ó¤ï¢¶ ªè£÷¢õ¦ó¢è«÷ò£ù£ô¢ Thread-ù¢ Þòè¢èñ¢ àé¢èÀ袰 ªî÷¤õ£è ¹ó¤»ñ¢. Listing 7.1 import java.awt.*; import java.applet.Applet; import java.util.*; public class clock extends Applet implements Runnable { Thread runner; public void init() { } public void start() { if (runner==null) {
  • 131. 131 runner=new Thread(this); runner.start(); } } public void stop() { if (runner!=null) { runner=null; } } public void run() { Thread thisthread=Thread.currentThread(); while (runner==thisthread) { repaint(); try { Thread.sleep(1000); } catch(InterruptedException e) { } } } public void paint(Graphics screen) { Date hello=new Date(); screen.setFont(new Font(“Serif”, Font.BOLD+Font.ITALIC,24)); screen.drawString(hello.toString(),50,50); }
  • 132. 132 } Þ¶ å¼ applet ¹«ó£è¤ó£ñ£è â¿îð¢ð좴÷¢÷¶. Þï¢î applet Þò颰ñ¢ ªð£¿¶ ïñ袰 å¼ Clock å®è¢ªè£í¢®¼ð¢ð¶ ªîó¤»ñ¢. Thread âù¢Âñ¢ Class Ýù¶ java.util.* âù¢Âñ¢ Package -ô¢ Þ¼è¢è¤ù¢ø¶. âù«õ î£ù¢ Üï¢î Package- ¬ù ï£ñ¢ import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢. ð¤ù¢ public class clock extends Applet implements Runnable âù¢Á class õ¬óò¤¼è¢èð¢ ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 Runnable âù¢Âñ¢ Interface Ýù¶ ðòù¢ð´î¢îð¢ð좮¼è¢è¤ù¢ø¶. Þï¢î Runnable Interface ¬ù implement ªêò¢õîù¢ Íô«ñ ïñ袰 Thread -¬ù ïñ¶ ¹«ó£è¤ó£ñ¤ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ º®»ñ¢. «ñ½ñ¢ start ( ), stop ( ), run ( ) Ýè¤ò event è¬÷»ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ º®»ñ¢. Þï¢î ¹«ó£è¤ó£ñ¢ ªè£´è¢èð¢ð좴÷¢÷ start ( ) event Ýù¶ init ( ) function Þòé¢è¤ò ð¤ù¢ î£ù£è Þòé¢è¤õ¤´ñ¢. ð¤ù¢ùó¢ run( ) event î£ù£è Þò颰ñ¢. ¹«ó£è¤ó£ñ¢ º®»ñ¢ õ¬ó run ( ) event -®ù¢ à÷¢«÷«ò Control ï£ñ¢ ޼袰ñ£Á ð£ó¢î¢¶è¢ ªè£÷¢÷ «õí¢´ñ¢. âð¢ªð£¿¶ ¹«ó£è¤ó£ñ¢ º®è¤ù¢ø«î£ Üð¢ªð£¿¶ stop( ) event î£ù£è Þò颰ñ¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 7.1
  • 133. 133 ¹«ó£è¤ó£ñ¢ Ýóñ¢ðî¢î¤ô¢ Thread runner âù¢Á ªè£´î¢¶ å¼ Thread object define ªêò¢òð¢ð좮¼è¢è¤ù¢ø¶. start event-®ô¢ runner=new Thread(this); runner.start( ); âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ Thread à¼õ£è¢èð¢ð좴, ܶ Þòé¢è¾ñ¢ Ýóñ¢ð¤è¢è¤ù¢ø¶. runner âù¢Âñ¢ Object Ýù¶ å¼ è®è£óñ¢ «ð£ô¢ Þò颰è¤ù¢ø¶. ܴ ¹«ó£è¤ó£ñ¤ù¢ è좴ð¢ð£´ º¿õ¶ñ¢ run event -®Â÷¢ õ õ¤´è¤ù¢ø¶. ÞîÂ÷¢ å¼ loop ܬñè¢èð¢ð좮¼è¢è¤ù¢ø¶. ºîô¤ô¢ Thread thisthread=Thread.currentThread( ); âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ thisthread âù¢Á ¹î¤ò Thread object -®¬ù à¼õ£è¢è¤ ÜîÂ÷¢ îø¢ªð£¿¶ Þòé¢è¤é¢è¤è¢ ªè£í¢®¼è¢°ñ¢ current Thread Ýù runner-ô¢ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø«î£ Üî¬ù ðî¤ï¢¶ ¬õè¢è¤ù¢«ø£ñ¢. ð¤ù¢ùó¢ while (runner==thisthread) âù¢ø condition ªè£´î¢¶ loop åù¢ø¤Â÷¢ ªêô¢½è¤ù¢«ø£ñ¢. Üî£õ¶ runner ñø¢Áñ¢ thisthread Ýè¤ò Þóí¢´ Object-è÷¤½ñ¢ å«ó ñî¤ð¢¹ ޼袰ñ¢ ðì¢êî¢î¤ô¢ loop-ù¢ à÷¢ ªêô¢ô «õí¢´ñ¢ âù¢ø ªð£¼÷£°ñ¢. loop -ù¢ à÷¢ Þóí¢´ èì¢ì¬÷è÷¢ ªè£´è¢èð¢ð좴÷¢÷ù. Üî¤ô¢ Thread.sleep(1000); âù¢Á ªè£´è¢èð¢ðì¢ì®¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 1000 âù¢ð¶ MilliSecond- ®¬ùè¢ °ø¤è¢è¤ù¢ø¶. Üî£õ¶ sleep function Ýù¶ Þ颰 Micro Processor- ¬ù 1000 MilliSecond -è÷¢ Üî£õ¶ å¼ Second Ü÷õ¤ø¢° âï¢î «õ¬ô¬ò»ñ¢ ªêò¢ò£ñô¢ 祿î¢î¤ ¬õè¢è¤ù¢ø¶. Üî£õ¶ ¶£é¢è ¬õè¢è¤ù¢ø¶. repaint() function call ªêò¢òð¢ð좮¼ð¢ðî£ô¢ paint ( ) function Þò颰è¤ù¢ø¶. ÜîÂ÷¢ ï£ñ¢ Date hello=new Date( ); screen.setFont(new Font(‘Serif’, Font.Bold +Font.Italic, 24)); screen.drawString(hello.toString( ), 50, 50); âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Üî£õ¶ åõ¢ªõ£ù¢Á º¬ø paint ( ) function Þò颰ñ¢ ªð£¿¶ñ¢ Date class -ø¢è¢° object à¼õ£è¢èð¢ð´õî£ô¢ îø¢ªð£¿¶
  • 134. 134 èí¤ð¢ªð£ø¤ò¤ô¢ à÷¢÷ Clock-ô¢ âï¢î «ïóñ¢ Þ¼è¢è¤ù¢ø«î£ Üîù¢ ñî¤ð¢¹ hello object-®ù¢ à÷¢ ðî¤ï¢¶ õ¤´è¤ù¢ø¶. Üî¬ù ï£ñ¢ hello.toString( ) function õö¤ò£è Screen-ô¢ display ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. ªñ£î¢îî¢î¤ô¢ ¹«ó£è¤ó£ñ£ù¶ åõ¢ªõ£Á second èö¤î¢¶ paint( ) function- ä Þò袰ñ¢ ªð£¿¶ ïñ袰 øò¤ô¢ Clock å®è¢ªè£í¢®¼ð¢ð¶ ªîó¤è¤ù¢ø¶. ÞÁî¤ò¤ô¢ ï¦é¢è÷¢ âð¢ªð£¿¶ applet -®¬ù class ªêò¢è¤ù¢ø¦ó¢è«÷£ Üð¢ªð£¿¶ stop event î£ù£è Þò袰è¤ù¢ø¶. ÜîÂ÷¢ runner=new âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ Thread-®ù¢ Þòè¢èñ¢ ï¤ù¢Á õ¤´è¤ù¢ø¶. Listing7.2 import java.awt.*; import java.applet.Applet; import java.util.*; public class anim extends Applet implements Runnable { Image theimage[]=new Image[10]; String dir=”Images/”; String name=”T”; String ext=”.gif”; Thread runner; int cnt=0; public void init() { int i; for (i=0;i<10;i++) { theimage[i]=getImage(getDocumentBase(), dir+name+(i+1)+ext); } }
  • 135. 135 public void start() { if (runner==null) { runner=new Thread(this); runner.start(); } } public void stop() { if (runner!=null) { runner=null; } } public void run() { Thread thisthread=Thread.currentThread(); while (runner==thisthread) { repaint(); try { Thread.sleep(200); } catch(InterruptedException e) { } } } public void paint(Graphics screen) { if (cnt==10) {
  • 136. 136 cnt=0; } screen.drawImage(theimage[cnt++],0,0,this); } } Þï¢î ¹«ó£è¤ó£ñ£ù¶ å¼ Animation õ¼ñ£Á â¿îð¢ð좮¼è¢è¤ù¢ø¶. ï¦é¢è÷¢ cartoon -è÷¢ ñø¢Áñ¢ ðô Graphics è£ì¢ê¤è¬÷ ªî£¬ôè¢è£ì¢ê¤è÷¤ô¢ ð£ó¢î¢î¤¼ð¢ð¦ó¢è÷¢. Üõø¢¬øªòô¢ô£ñ¢ èí¤ð¢ªð£ø¤ò¤ô¢ î£ù¢ à¼õ£è¢° è¤ù¢ø£ó¢è÷¢ âù¢ð¶ñ¢ àé¢èÀè¢°î¢ ªîó¤»ñ¢. Þ𢹫ó£è¤ó£ñ£ù¶ Animation-è÷¢ âõ¢õ£Á â¿îð¢ð´è¤ù¢øù âù¢ðîø¢° å¼ ê¤Á â´î¢¶è¢è£ì¢´ ݰñ¢. ªð£¶õ£è Animation ªêò¢»ñ¢ ªð£¿¶ ðô Image-è÷¢ «î¬õð¢ð´è¤ù¢øù. Üî£õ¶ åõ¢ªõ£Á Animation movement-ø¢è¢°ñ¢ âù¢Á îù¤î¢îù¤ image file-è÷¢ «õí¢´ñ¢. Üï¢î file-è¬÷ å¼ °ø¤ð¢ð¤ì¢ì è£ô Þ¬ìªõ÷¤è¢°÷¢ ê¦ó£è Display ݰñ¢ð® ªêò¢õ«î Animation ¹«ó£è¤ó£ñ¢ ݰñ¢. Þï¢î ¹«ó£è¤ó£ñ¤¬ù ï¦é¢è÷¢ Þòè¢è «õí¢´ñ¢ âù¤ô¢ ºîô¤ô¢ gif file- è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢Àé¢è÷¢. Üõø¢ø¤ô¢ å¼ Animation à¼õ£õîø¢è¢è£ù ªî£ìó¢ê¢ê¤ò£ù movement-è÷¢ ޼袰ñ¢ð® ð£ó¢î¢¶è¢ ªè£÷¢Àé¢è÷¢. â´î¢¶è¢ è£ì¢ì£è å¼ Bus ªð£ñ¢¬ñò£ù¶ Þìð¢ðè¢è ͬôò¤ô¤¼ï¢¶ õô¶ ðè¢èî¢î¤ø¢° ïèó¢õ¶ «ð£ô ð ðìé¢è¬÷ õ¬ó ªè£÷¢Àé¢è÷¢. ï¦é¢è÷¢ Bmp, Gif, Jpg ºîô¤ò âï¢î õ¬è Graphics File-è¬÷ «õí¢´ñ£ù½ñ¢ à¼õ£è¢è¤è¢ ªè£÷¢Àé¢è÷¢. Þ颰 T1.gif, T2.gif, T3.gif... âù¢Á ªðòó¢ õ¼ñ£Á ð file- è¬÷ õ¬ó Þ¼è¢è¤ù¢«ø£ñ¢. ¹«ó£è¤ó£ñ¤ù¢ Ýóñ¢ðî¢î¤ô¢ Image theImage[ ] = new Image[10]; âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î Image Class-ù¢ object- è÷¤ô¢ î£ù¢ ïñ¢ñ£ô¢ Graphics file -è÷£ù Bmp, Gif, Jpg ºîô£ùõø¢ø¤ô¢ Þ¼è¢è¤ù¢ø îèõô¢è¬÷ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢÷ º®»ñ¢. String dir = “Images/”; String name= “T”; String ext = “gif”; âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¬õ º¬ø«ò file Ýù¶ âï¢î Directory-ò¤ô¢ Þ¼è¢è¤ù¢ø¶, âï¢î â¿î¢î¤ù¤ô¢ ªðòó£ù¶ Ýóñ¢ð¤è¢è¤ù¢ø¶ ñø¢Áñ¢ âù¢ù extension -ä ªè£í¢®¼è¢è¤ù¢ø¶ «ð£ù¢øõø¢¬øè¢ °ø¤è¢è¤ù¢ø¶.
  • 137. 137 ðì‹ðì‹ðì‹ðì‹ðì‹ 7.2 (T1.gif) ðì‹ðì‹ðì‹ðì‹ðì‹ 7.3 (T2.gif) ðì‹ðì‹ðì‹ðì‹ðì‹ 7.4 (T3.gif) ðì‹ðì‹ðì‹ðì‹ðì‹ 7.5 (T4.gif) ðì‹ðì‹ðì‹ðì‹ðì‹ 7.6 (T5.gif)
  • 138. 138 ðì‹ðì‹ðì‹ðì‹ðì‹ 7.7 (T6.gif) ðì‹ðì‹ðì‹ðì‹ðì‹ 7.8 (T7.gif) ðì‹ðì‹ðì‹ðì‹ðì‹ 7.9 (T8.gif) ðì‹ðì‹ðì‹ðì‹ðì‹ 7.10 (T9.gif) ðì‹ðì‹ðì‹ðì‹ðì‹ 7.11 (T10.gif)
  • 139. 139 init ( ) function-ô¢ for loop åù¢Á 10 º¬ø Þò颰ñ£Á ªêò¢òð¢ð좴 getImage (...) âù¢Âñ¢ function-ù¤ù¢ Íôñ¢ åõ¢ªõ£Á Image file Ýè read ªêò¢òð¢ð좴 theImage array-ò¤Â÷¢ «ð£ìð¢ð´è¤ù¢ø¶. ð¤ù¢ start( ) event-®ô¢ runner Thread à¼õ£è¢èð¢ð좴, Þòè¢èð¢ð´è¤ù¢ø¶. ªêù¢ø ¹«ó£è¤ó£ñ¤ù¤¬ù𢠫ð£ô«õ run ( ) event-ñ¢ loop åù¢ø¤Â÷¢ ñ¢ð ñ¢ð ¹«ó£è¤ó£ñ¢ º®»ñ¢ õ¬ó Þò颰è¤ù¢ø¶. åõ¢ªõ£Á 200 MilliSecond- è÷¢ èö¤î¢¶ñ¢ paint ( ) function Þò颰è¤ù¢ø¶. paint ( ) function-ô¢ ï£ñ¢ drawImage âù¢Âñ¢ function -ù¤¬ùð¢ ðòù¢ð´î¢î¤ theImage array ò¤ô¢ à÷¢÷ ðìé¢è¬÷ åõ¢ªõ£ù¢ø£è display ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. cnt variable åõ¢ªõ£Á º¬ø Þò颰ñ¢ ªð£¿¶ñ¢ îù¢Â÷¢ å¼ ñî¤ð¢ð¤¬ù Ãì¢®è¢ ªè£÷¢è¤ø¶. Üî¤ô¢ âð¢ªð£¿¶ 10 âù¢ø ñî¤ð¢¹ õ¼è¤ù¢ø«î£ Üð¢ªð£¿¶ 0 âù¢ø ñî¤ð¢ð¤¬ù initialize ªêò¢¶ ªè£÷¢è¤ù¢ø¶. âù«õ ¹«ó£è¤ó£ñ¢ Þò颰ñ¢ ªð£¿¶ 10 Image file è÷¤ô¢ à÷¢÷ ðìé¢èÀñ¢ ñ¢ðî¢î¤¼ñ¢ð display Ýè¤è¢ ªè£í¢«ì Þ¼ð¢ðî£ô¢ Animation ïñ袰 褬ìè¢è¤ù¢ø¶. Þï¢î º¬ø animation-è÷¢ Internet- ®ô¢ ðóõô£èð¢ ðòù¢ð´î¢îð¢ð´è¤ù¢øù.
  • 140. 140 Üî¢î¤ò£òñ¢ 8Üî¢î¤ò£òñ¢ 8Üî¢î¤ò£òñ¢ 8Üî¢î¤ò£òñ¢ 8Üî¢î¤ò£òñ¢ 8 Files Java õ¤ô¢ java.io.file âù¢Á å¼ package Þ¼è¢è¤ù¢ø¶. Þî¤ô¢ à÷¢÷ class è¬÷ð¢ ðòù¢ð´î¢î¤ ïñ¢ñ£ô¢ low level file operation-è¬÷ ªêò¢¶ ªè£÷¢÷ Þò½ñ¢. Üî£õ¶ ¹î¤ò file-è¬÷ à¼õ£è¢èõ¶ ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø file è¬÷ read ªêò¢¶ ªè£÷¢õ¶ ºîô£ù «õ¬ôè¬÷ê¢ ªêò¢¶ ªè£÷¢÷ô£ñ¢. Listing 8.1 import java.io.File; class FileQuery { public static void main(String args[]) { String dirname=”india”; String filename=”store.java”; File myfile=new File(dirname,filename); System.out.println(“File Name: “ + myfile.getName()); System.out.println(“Is it a Directory : “ + myfile.isDirectory()); System.out.println(“It is a real file : “ + myfile.isFile()); System.out.println(“File Path: “ + myfile.getPath()); System.out.println(“Absolute File Path: “ + myfile.getAbsolutePath()); System.out.println(“Is File Readable: “ + myfile.canRead()); System.out.println(“Is File Writeable: “ + myfile.canWrite()); System.out.println(“Modified on: “ + myfile.lastModified()); System.out.println(“Size (in bytes): “ + myfile.length()); System.out.println();
  • 141. 141 System.out.println(“—— Directory Listing ——”); File dir=new File(dirname); if (dir.isDirectory()==false) { System.out.println(dirname + “is not a directory”); } else { System.out.println(“Directory of “ + dirname); String d[]=dir.list(); for (int i=0; i<d.length;i++) { System.out.println(d[i]); } } } } Þï¢î𢠹«ó£è¤ó£ñ¤¬ù Þòè¢è¤ù£ô¢ ï£ñ¢ âï¢î Subdirectory-ò¤ù¢ ªðòó¤¬ùè¢ ªè£´î¢î¤¼è¢è¤ù¢«ø£«ñ£, Üî¤ô¢ à÷¢÷ ܬù file-è¬÷»ñ¢ display ªêò¢¶ ªè£´è¢°ñ¢. «ñ½ñ¢ âù¢ù file name ªè£´î¢î¤¼è¢è¤ù¢«ø£«ñ£ Üï¢î file- ù¬ð¢ ðø¢ø¤ò º¿¬ñò£ù îèõô¢è¬÷ ªðø¢Áî¢î¼ñ¢. main ( ) function- ù¢ Ýóñ¢ðî¢î¤ô¢ ºîô¤ô¢ String dirname=“india”; String filename=“store.java”; âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þî¤ô¢ india âù¢ð¶ Subdirectory, åù¢ø¤ù¢ ªðòó£°ñ¢. Þîø¢°ð¢ðî¤ô¢ ï¦é¢è÷¢ â颰 Þï¢î ¹«ó£è¤ó£ñ¤¬ù Þòè¢è𢠫ð£è¤ù¢ø¦ó¢è«÷£ Üî¤ô¢ à÷¢÷ sub directory-ò¤ù¢ ªðòó¤¬ùè¢ ªè£´î¢¶è¢ ªè£÷¢Àé¢è÷¢. ܶ «ð£ô«õ store.java âù¢ð¶ ªõ¼ñ¢ â´î¢¶è¢è£ì¢«ì. «õÁ å¼ file ªðòó¤¬ùè¢ ªè£´î¢¶è¢ ªè£÷¢Àé¢è÷¢. File myfile=new File(dirname, filename); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î File âù¢Âñ¢ class-ô¢ î£ù¢ File operation êñ¢ðï¢îð¢ðì¢ì ܬù function-èÀñ¢ Þ¼è¢è¤ù¢øù.
  • 142. 142 Þð¢ªð£¿¶ india âù¢Âñ¢ Subdirectory-ô¢ à÷¢÷ store.java âÂñ¢ file-ù¢ ܬù îèõô¢èÀñ¢ º¿¬ñò£è myfile âù¢Âñ¢ object -ù¢ à÷¢ õõ¤ì¢ìù. Þ颰 myfile.getName( ) âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ file-ù¢ ªðòó¢ 褬ìè¢è¤ù¢ø¶. myfile.isDirectory( ) âù¢Á ªè£´è袰ñ¢ªð£¿¶ file âï¢î Subdirectory-ò¤ô¢ Þ¼è¢è¤ù¢ø¶ âù¢ð¶ ªîó¤»ñ¢. myfile.isFile()âù¢Á ªè£´î¢î£ô¢ ï£ñ¢ ªè£´î¢î¤¼è¢°ñ¢ ªðòó¤ô¢ Þ¼ð¢ð¶ file î£ù£ Üô¢ô¶ Þô¢¬ôò£ âù¢ðî¬ùî¢ ªîó¤ï¢¶è¢ ªè£÷¢÷ô£ñ¢. myfile.getpath() âù¢Á ªè£´è¢°ñ¢ file-ù¢ º¿ path 褬ìè¢è¤ù¢ø¶. myfile.canRead( ) âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ file -¬ù ð®è¢è º®»ñ£ Üô¢ô¶ º®ò£î âù¢ð¶ ªîó¤»ñ¢. Ü«î«ð£ô¢ myfile.canWrite()âù¢Á ªè£´è¢°ñ¢ªð£¿¶ file-ù¤ô¢ îèõô¢è¬÷ ¹î¤î£è â¿î º®»ñ£ Üô¢ô¶ º®ò£î£ âù¢ð¶ ªîó¤»ñ¢. myfile.lastModified( ); âù¢Á ªè£´è¢°ñ¢ªð£¿¶ file- ¬ù è¬ìê¤ò£è ï£ñ¢ âï¢î «îî¤ ñø¢Áñ¢ «ïóî¢î¤ô¢ ðòù¢ð´î¢î¤«ù£ñ¢ âù¢ø îèõô¢è÷¢ 褬ìè¢è¤ù¢øù. ܴ File dir=new File(dirname); âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. ï£ñ¢ ªè£´î¢î¤¼è¢°ñ¢ ªðòó¤ô¢ å¼ Subdirectory-ò¤¼ð¢ð¤ù¢ dir.isDirectory( ) function Ýù¶ true âù¢Á ªè£´è¢°ñ¢. Üð¢ªð£¿¶ if condition- ù¤ô¢ else ð°î¤ Þò颰ñ¢. Ü颰 String d[ ] = dir.list( ); âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þîù¢ Íôñ¢ ï£ñ¢ ªè£´î¢î Sub directoryò¤ù¢ ܬù file-è÷¤ù¢ ªðòó¢èÀñ¢ d âù¢Âñ¢ String array ò¤ô¢ ðî¤è¤ù¢øù. Üõø¢¬ø loop-ù¢ Íôñ¢ ï£ñ¢ display ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. ðì‹ðì‹ðì‹ðì‹ðì‹ 8.1
  • 143. 143 Listing 8.2 import java.io.*; class LineByLine { public static void main(String args[]) throws FileNotFoundException { String filename=”FileQuery.java”; FileInputStream f=new FileInputStream(filename); LineNumberInputStream filestream=new LineNumberInputStream(f); try { int c; System.out.print(“Line 1:”); while ((c=filestream.read())!= -1) { System.out.print((char)c); if (c==’n’) { System.out.print(“Line “ + (filestream.getLineNumber()+1) + “:”); } } }catch(IOException e) { System.out.println(“Can’t open stream!”); } } }
  • 144. 144 Þï¢î ¹«ó£è¤ó£ñ¤ù¤ô¢ å¼ text file-ô¢ à÷¢÷ ܬù õó¤è¬÷»ñ¢ read ªêò¢¶ display ªêò¢õîø¢°ð¢ ¹«ó£è¤ó£ñ¢ â¿îð¢ð좴÷¢÷¶. ºîô¤ô¢ main( ) function ù¤ù¢ ªî£ìó¢ê¢ê¤ò£è throws FileNotFoundException âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þîù¢ Íôñ¢ ï£ñ¢ ªè£´è¢è¤ù¢ø file Ýù¶ êó¤ò£è open Ýèõ¤ô¢¬ô ªòù¤ô¢ Can’t open Stream; âù¢Á error õ¼ñ£Á ¹«ó£è¤ó£ñ¤ù¢ è¬ìê¤ò¤ô¢ exception ܬñè¢èð¢ð좮¼è¢è¤ù¢ø¶ File IntputStream f= new FileInputStream(filename); LineNumberInputStream filestream = new LIneInputStream(f); âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ class Ýù¶ å¼ file-ô¢ à÷¢÷ â¿î¢¶è¢è¬÷ read ªêò¢õîø¢è¢° àî¾è¤ù¢ø¶. ï£ñ¢ Þ颰 FileQuery.java âù¢Âñ¢ textfile-ô¢ à÷¢÷ îèõô¢è¬÷ read ªêò¢ò Þ¼è¢è¤ù¢«ø£ñ¢. ï¦é¢è÷¢ àé¢èÀ袰 «õí¢®ò file-è÷¤ù¢ªðòó¤¬ùè¢ Þ颰 ªè£´î¢¶è¢ ªè£÷¢Àé¢è÷¢. LineNumberInput StreamÝù¶ file-ô¢ îø¢ªð£¿¶ ï£ñ¢ âï¢î Line-ô¢ Þ¼è¢è¤ù¢«ø£ñ¢ âù¢ø îèõ¬ô𢠪ðø¢Áî¢îóè¢Ã®ò getLineNumber( ) function Þ¼ð¢ðîù£ô¢ ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢. while((c=filestream.read())!=-1) âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 read( ) function Ýù¶ file-ô¢ à÷¢÷ åõ¢ªõ£Á â¿î¢î£è read ªêò¢¶ ªè£´è¢è¤ù¢ø¶. å¼ â¿î¢¶ read ªêò¢òð¢ðì¢ì¾ìù¢ file pointer Ýù¶ Ü´î¢î â¿î¢î¤ø¢° î£ù£è ªêù¢Á õ¤´ñ¢. âð¢ªð£¿¶ end of file-ø¢è¢° õ¼è¤ù¢«ø£«ñ£ Üð¢ªð£¿¶ -1 âù¢ø ñî¤ð¢ð¤¬ù𢠪ðÁ«õ£ñ¢. Üð¢ªð£¿¶ loop-¬ù õ¤ì¢´ ªõ÷¤ò¤ô¢ õ õ¤´«õ£ñ¢. loop-ù¢ à÷¢ System.out.print ((char)c); âù¢Á ªè£´ð¢ðîù¢Íôñ¢ åõ¢ªõ£Á â¿î¢î£è display Ýè¤ù¢ø¶. Listing 8.3 import java.io.*; class copycharacters { public static void main(String args[]) { File infile=new File(“FileQuery.java”); File outfile=new File(“output.dat”); FileReader ins=null;
  • 145. 145 FileWriter outs=null; try { ins=new FileReader(infile); outs=new FileWriter(outfile); int ch; while ((ch=ins.read())!=-1) { outs.write(ch); } } catch(IOException e) { System.out.println(e); System.exit(-1); } finally { try { ins.close(); outs.close(); } catch(IOException e) {} } } } Þï¢î ¹«ó£è¤ó£ñ£ù¶ ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø å¼ Text File-ô¢ à÷¢÷ îèõô¢è¬÷ read ªêò¢¶ ¹î¤î£è å¼ file-¬ù à¼õ£è¢è¤ ÜîÂ÷¢ copy ªêò¢»ñ¢ð®è¢° â¿îð¢ð좮¼è¢è¤ù¢ø¶. File infile=new File(“FileQuery.java”); File outfile=new File(“Output.dat”); Þ颰 FileQuery.java âù¢Âñ¢ file-ô¤ô¢ à÷¢÷ îèõô¢è÷¢ read ªêò¢òð¢ð좴 output.dat âù¢Âñ¢ ¹î¤ò file à¼õ£è¢èð¢ð좴 ÜîÂ÷¢ ðî¤òð¢ðì Þ¼è¢è¤ù¢ø¶.
  • 146. 146 âù«õ FileReader ñø¢Áñ¢ FileWriter Ýè¤ò Class-è÷¤ù¢ object-è÷¢ ins, outs âù¢Á à¼õ£è¢èð¢ð좴 Þ¼è¢è¤ù¢øù. while((ch=ins.read( ))!=-1) âù¢Á loop ܬñè¢èð¢ð좮¼è¢è¤ù¢ø¶. Þîù¢ Íôñ¢ end of file õ¼ñ¢ õ¬ó åõ¢ªõ£Á â¿î¢îè¢è÷£è read ªêò¢òð¢ð좴 outs.write(ch); âù¢ø function àð«ò£è¤ð¢ð좴 åõ¢ªõ£Á â¿î¢î£è output.dat âÂñ¢ file -ô¢ â¿îð¢ð´è¤ù¢ø¶. finally âù¢ø function åù¢Á â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ Java õ¤ô¢ Þ¼è¢è¤ù¢ø destructor function ݰñ¢. ¹«ó£è¤ó£ñ¢ º®»ñ¢ ªð£¿¶ î£ù£è Þò颰ñ¢. ÞîÂñ¢ ins.close(); outs.close(); Ýè¤ò file-è÷¢ Close ªêò¢òð¢ ð좮¼è¢è¤ù¢øù.
  • 147. 147 Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢Üî¢î¤ò£òñ¢ 9. Calander - ¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢¹«ó£è¤ó£ñ¢ Þï¢î Üî¢î¤ò£òî¢î¤ô¢ Calender ¹«ó£è¤ó£ñ¢ åù¢Á õ¤÷è¢èð¢ð좴÷¢÷¶. Þî¬ù Üø¤ï¢¶ ªè£÷¢õîù¢ Íôñ¢ àé¢è÷£ô¢ ²ôðñ£è âî¢î¬èò ¹«ó£è¤ó£ñ¢è¬÷»ñ¢ Java -õ¤ô¢ â¿î º®»ñ¢. Þï¢î ¹«ó£è¤ó£ñ¢ å¼ Applet ݰñ¢. Þî¤ô¢ GridBagLayout ðòù¢ð´î¢îð¢ ð좮¼è¢è¤ù¢ø¶. l_month, c_month, d_year, txt_year, up, down âù¢Á ÝÁ Object è¬÷ õó¤¬êò£è å«ó row õ¤ù¤ô¢ align ªêò¢õîø¢° GridbagLayout ðòù¢ð´î¢îð¢ð좮¼è¢è¤ù¢ø¶. ðì‹ðì‹ðì‹ðì‹ðì‹ 9.1 Listing 9.1 import java.awt.*; import java.applet.Applet; import java.util.*; public class calender extends Applet { Date mydate;
  • 148. 148 GridBagLayout gl=new GridBagLayout(); GridBagConstraints gc=new GridBagConstraints(); void assign (GridBagConstraints abc,int gx,int gy,int gw,int gh,int wx,int wy,int fi,int ga) { abc.gridx=gx; abc.gridy=gy; abc.gridwidth=gw; abc.gridheight=gh; abc.weightx=wx; abc.weighty=wy; abc.fill=fi; abc.anchor=ga; } Choice c_month=new Choice(); Label l_month=new Label(“Month”); Label l_year=new Label(“year”); TextField txt_year=new TextField(4); String[] a_month={“January”,”February”,”March”,”April”, ”May”,”June”,”July”,”August”,“September”,”October”,”November”,”December”}; String[] a_days={“Sun”,”Mon”,”Tue”,”Wed”,”Thur”, ”Fri”,”Sat”}; String[] a_dates={“1”,”2",”3",”4",”5",”6",”7",”8",”9",”10", “11”,”12",”13",”14",”15",”16",”17",”18",”19",”20",“21”,”22",”23", ”24",”25",”26",”27",”28",”29",”30",”31"}; int[] x_row={100,150,200,250,300,350,400}; int[] x_col={100,150,200,250,300,350,400}; Button up,down; int my_count,my_month,my_year,my_day,txin; public void init() { mydate=new Date(); for(int i=0;i<a_month.length;i++) {
  • 149. 149 c_month.addItem(a_month[i]); } up=new Button(“>”); down=new Button(“<“); setLayout(gl); assign(gc,0,0,1,1,100,100,GridBagConstraints.NONE, GridBagConstraints.NORTHEAST); gl.setConstraints(l_month,gc); add(l_month); assign(gc,1,0,1,1,100,100,GridBagConstraints.NONE, GridBagConstraints.NORTHEAST); gl.setConstraints(c_month,gc); add(c_month); assign(gc,2,0,1,1,100,100,GridBagConstraints.NONE, GridBagConstraints.NORTHEAST); gl.setConstraints(l_year,gc); add(l_year); assign(gc,4,0,1,1,100,100,GridBagConstraints.NONE, GridBagConstraints.NORTHEAST); gl.setConstraints(txt_year,gc); add(txt_year); int year=mydate.getYear()+1900; txt_year.setText(“”+year); txt_year.setEditable(false); assign(gc,5,0,1,1,100,100,GridBagConstraints.NONE, GridBagConstraints.NORTHEAST); gl.setConstraints(up,gc);
  • 151. 151 else if(my_month==9) my_count=31; else if(my_month==10) my_count=30; else if(my_month==11) my_count=31; repaint(); } public void paint(Graphics g) { my_day=1; int ab=Integer.parseInt(txt_year.getText()); my_year=ab-1900; mydate.setDate(my_day); mydate.setYear(my_year); mydate.setMonth(my_month); for(int i=0;i<a_days.length;i++) { g.drawString(a_days[i],x_col[i],75); } int x=mydate.getDay(); int y=0; for(int j=0;j<my_count;j++) { g.drawString(a_dates[j],x_col[x],x_row[y]); x++; if (x>6) { y++; x=0; } } }
  • 152. 152 public boolean action(Event evt,Object arg) { if(evt.target instanceof Choice) { String lab=(String)arg; if (lab==”January”) { my_month=0; my_count=31; setBackground(Color.red); } else if(lab==”February”) { intbc=Integer.parseInt(txt_year.getText()); if(bc%4==0) { my_month=1; my_count=29; } else { my_month=1; my_count=28; setBackground(Color.pink); } } else if(lab==”March”) { my_month=2; my_count=31; setBackground(Color.cyan); }Java-19
  • 155. 155 } else { if(my_month==1) my_count=28; } repaint(); return true; } else if(evt.target.equals(down)) { txin=Integer.parseInt(txt_year.getText()); txin—; txt_year.setText(““+txin); if(txin%4==0) { if(my_month==1) my_count=29; } else { if(my_month==1) my_count=28; } repaint(); return true; } else return true; } } ¹«ó£è¤ó£ñ¤ù¢ Ýóñ¢ðî¢î¤ô¢ a_month, a_dates, x_row, x_col âù¢Á array-è÷¢ à÷¢÷ù. Þõø¢ø¤ô¢ a_month âù¢ø array-ò¤ô¢ January, February, March âù¢Á ñ£îé¢è÷¤ù¢ ªðòó¢è÷¢ ðî¤òð¢ð좮¼è¢è¤ù¢øù. a_days âù¢Âñ¢ array ò¤ô¢ sun, Mon, tue, âù¢Á ï£÷¢è÷¤ù¢ ªðòó¢è¬÷ ðî¤òð¢ð좮¼è¢è¤ù¢øù. a_dates âù¢Âñ¢ array
  • 156. 156 ò¤ô¢ 1,2,3,..... âù¢Á ï£ì¢è÷¤ù¢ ªðòó¢è¬÷ ðî¤òð¢ð좮¼è¢è¤ù¢øù. x_row ñø¢Áñ¢ x_col ºîô¤ò array ò¤ô¢ ïñ¢º¬ìò ï£ì¢è÷¢ ñø¢Áñ¢ «îî¤è÷¢ âîï¢î Þìé¢è÷¤ô¢ õó«õí¢´ñ¢ âù¢Á °ø¤ð¢ðî£è x ñø¢Áñ¢ y coordinate ñî¤ð¢¹è÷¢ ªè£´è¢èð¢ð좴÷¢÷ù. Þï¢î ¹«ó£è¤ó£ñ¤ù¢ àò¤ó¢ï£®«ò Date class-ô¢ î£ù¢ Þ¼è¢è¤ù¢ø¶. mydate=new Date ( ); âù¢Á ªè£´î¢¶ mydate âù¢ø ªðòó¤ô¢ å¼ Date object-®¬ù à¼õ£è¢è¤è¢ ªè£÷¢Àè¤ù¢«ø££ñ¢. ªð£¶õ£è Date object à¼õ£°ñ¢ ªð£¿¶ Üî¤ô¢ îø¢ªð£¿¶ System-î¢î¤ô¢ âù¢ù date Þ¼è¢è¤ù¢ø«î£ Üï¢î ñî¤ð¢¹ õ ðî¤ï¢¶ õ¤´ñ¢. Date class-ô¢ Þ¼è¢è¤ù¢ø getDate( ) function Íôñ¢ âù¢ù ï£÷¢ îø¢ªð£¿¶ object-®ô¢ Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù ªîó¤ï¢¶ ªè£÷¢÷ Þò½ñ¢. ܶ«ð£ô¢ getMonth() âù¢ø function Íôñ¢ object-®ù¤ô¢ îø¢ªð£¿¶ âù¢ù ñ£îñ¢ Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢. 0 õ¤ô¤¼ï¢¶ ñ£îé¢è÷¢ èíè¢è¤ìð¢ð´è¤ù¢øù. Üî£õ¶ 0 âù¢ø££ô¢ January, 1âù¢ø£ô¢ February âù¢ø õ¬èò¤ô¢ ޼袰ñ¢. getYear() function Íôñ¢ object-®ô¢ Þ¼è¢è¤ù¢ø õ¼ìî¢î¤ù¢ ñî¤ð¢ð¤¬ù𢠪ðø¢Áè¢ ªè£÷¢÷ô£ñ¢. Þ颰 2002 âù¢ø õ¼ìñ¢ Þ¼ð¢ð¤ù¢ 102 âù¢ø ñî¤ð¢¹ î£ù¢ õ¼ñ¢. Üî£õ¶ 1900 âù¢ø õ¼ìî¢î¤ô¤¼ï¢¶ èí袪è´î¢¶è¢ ªè£÷¢÷ð´è¤ù¢ø¶ âù¢Á ªð£¼÷¢. getDay() âù¢ø function ¬ùð¢ ðòù¢ð´î¢î¤ object-®ô¢ Þ¼è¢è¤ù¢ø «îî¤ò£ù¶ âï¢î è¤ö¬ñò¤ô¢ õ¼è¤ù¢ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢. ë£ò¤ø¢Áè¢è¤ö¬ñ âù¢ø£ô¢ 0 âù¢Á õ¼ñ¢. î¤é¢è÷¢ è¤ö¬ñªòù¢ø£ô¢ 1 âù¢ø õ¬èò¤ô¢ ñî¤ð¢¹è÷¢ õ¼ñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. init( ) function-ô¢ ºîô¤ô¢ Date object-®¬ù à¼õ£è¢è¤òð¢ ð¤ù¢¹ for loop åù¢ø¤¬ù ܬñ Üîù¢ Íôñ¢ c_month âù¢Âñ¢ Choice -ô¢ a_month âù¢Âñ¢ array -ò¤ô¢ Þ¼è¢è¤ù¢ø ñ£îé¢è÷¤ù¢ ªðòó¢è¬÷ add ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. ܴ up, down âù¢Á Þóí¢´ push Button -è¬÷ à¼õ£è¢è¤è¢ ªè£÷¢è¤ù¢«ø£ñ¢. ¹«ó£è¤ó£ñ¤ù¢ Ýóñ¢ðî¢î¤ô¢ gl âù¢ø ªðòó¤ô¢ GridBagLayout åù¢ø¤¬ù»ñ¢, gc âù¢ø ªðòó¤ô¢ GridBagConstraint åù¢ø¤¬ù»ñ¢ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢ Üô¢ôõ£? Üõø¢¬øè¢ ªè£í¢´ assign âù¢Á ï£ñ¢ â¿î¤ò¤¼è¢°ñ¢ function õö¤ò£è åõ¢ªõ£Á object Ýè ªè£´î¢¶ add ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
  • 157. 157 object -è÷¢ ܬùî»ñ¢ add ªêò¢îð¤ø° îø¢ªð£¿¶ mydate object-®ù¢ year- ô¢ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø«î£ ÜîÂìù¢ 1900 âù¢ø ñî¤ð¢ð¤¬ùè¢ Ã좮 àí¢¬ñò£ù «îî¤ò£ù txt_year âù¢Âñ¢ object-®ù¤ô¢ display ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. ܴ mydate.getMonth ( ) âù¢ø function -ù¤¬ùð¢ ðòù¢ð´î¢î¤ object-®ô¢ îø¢ªð£¿¶ âù¢ù ñ£îñ¢ Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù èí¢´ð¤®î¢¶ Üîù¢ð® åõ¢ªõ£¼ ñ£îî¢î¤ø¢è¢°ñ¢ âî¢î¬ù ï£÷¢è÷¢ âù¢Á õó¤¬êò£è if condition Íôñ¢ assign ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. Þ¼î¤ò¤ô¢ repaint( ) âù¢Á ªè£´è¢°ñ¢ªð£¿¶ paint function Þò颰è¤ù¢ø¶. paint( ) function-ù¤ô¢ ºîô¤ô¢ my_day=1; âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ ï£ñ¢ âï¢î õ¼ìî¢î¤Â¬ìò ñø¢Áñ¢ âï¢î °ø¤ð¢ð¤ì¢ì ñ£îî¢î¤ù¢ Calendar -ø¤¬ù display ªêò¢ò «õí¢´ñ¢ âù¢Á 郎ùè¢è¤ù¢«ø£«ñ£ Üï¢î ñ£îî¢î¤ù¢ ºîô¢ «îî¤ò£ù¶ âï¢î è¤ö¬ñò¤ô¢ Ýóñ¢ðñ£è¤ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢÷ «õí¢´ñ¢. âù«õ ï£ñ£è«õ my_day âù¢Âñ¢ Variable, âù¢ø ñî¤ð¢ð¤¬ù ð ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. my_month, my_year Ýè¤ò variable-è÷¤ø¢è¢° c_month ñø¢Áñ¢ txt_year Ýè¤ò object-è÷¤ô¢ îø¢ªð£¿¶ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø«î£ Üî¬ù𢠪ðø¢Áè¢ ªè£÷¢Àè¤ù¢«ø£ñ¢. Þï¢î my_day, my_month, my_year Ýè¤ò variable-è÷¤ô¢ ޼袰ñ¢ Date ñî¤ð¢¹è¬÷ º¬ø«ò SetDate( ), setMonth( ), SetYear( ) Ýè¤ò Date class -ù¢ method function õö¤ò£è ðªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. îø¢ªð£¿¶ ð ªêò¢òð¢ðì¢ì, ñ£îî¢î¤ù¢ ºîô¢ «îî¤ò£ù¶ âï¢î è¤ö¬ñò¤ô¢ õ¼è¤ù¢ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢õîø¢è¢è£è x=mydate.getDay ( ); âù¢ø function õö¤ò£è Üø¤ï¢¶ ªè£÷¢è¤ù¢«ø£ñ¢. â´î¢¶è¢è£ì¢ì£è Þï¢î function Ýù¶ 3 âù¢ø ñî¤ð¢ð¤¬ùè¢ ªè£´î¢î£ô¢ ܶ wednesday âù¢ø è¤ö¬ñò¤¬ùè¢ °ø¤è¢è¤ù¢ø¶. ï£ñ¢ ãø¢è¢ªèù«õ x_col, y_col Ýè¤ò Array-è÷¤ô¢ ðî¤ï¢¶ ¬õî¢î¤¼è¢è¤ù¢ø ñî¤ð¢¹èÀ袰 ãø¢ø£ø¢«ð£ô¢ è¤ö¬ñè¬÷ loop-ù¢ Íôñ¢ display ªêò¢¶ Þ¼è¢è¤ù¢«ø£ñ¢. Þð¢ªð£¿¶ «îî¤è¬÷ õó¤¬êò£ò¢ x-ô¢ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø«î£ Üî¤ô¤¼ï¢¶ loop-ù¢ õö¤ò£è display ªêò¢è¤ù¢«ø£ñ¢. x-ù¢ ñî¤ð¢¬ð Ãì¢®è¢ ªè£í¢«ì õ¼è¤ù¢«ø£ñ¢. x-ù¢ ñî¤ð¢¹ 6 -袰 «ñô¢ ªêô¢½ñ¢ ªð£¿¶ Üî¬ù 0 âù¢ø ñî¤ð¢ð£è ñø¢ø¤ õ¤ì¢´, y-ù¢ ñî¤ð¢ð¤ô¢ åù¢ø¤¬ùè¢ Ãì¢®è¢ ªè£÷¢Àè¤ù¢«ø£ñ¢. Þñ¢º¬øò¤ô¢ ïñ袰 Calendar 褬ìè¢è¤ù¢ø¶. «ñ½ñ¢ Action event-ù¢ õö¤ò£è âð¢ªð£¿ªîô¢ô£ñ¢ ï£ñ¢c_month, up, downÝè¤ò
  • 158. 158