âOò îIN™ JAVA
ð£‚Aòï£î¡
RangaRakes [Link]
ELIYA THAMIZHIL - 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
RangaRakes [Link]
â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òï£î¡
RangaRakes [Link]
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
RangaRakes [Link]
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 -ª ñ £ N J ¬ ù ð ™ « õ Á ¹ « ó £ ª ü † è 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¡ [Link] Þ¬íò
î÷ˆFL¼‰¶ Þôõêñ£è Download ªêŒ¶ ªè£œ÷ Þò½‹.
Þ‰î JDK -õ¤¬ùî¢ îM˜ˆ¶ «õÁ Cô Java -èÀ‹ Þ¼‚A¡øù.
ÜõŸ¬øŠ ðŸP»‹ cƒèœ ÜP‰¶ ªè£œ÷ «õ‡´‹. ܶ Þ¡Pò¬ñò£î¶.
RangaRakes [Link]
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÷‚è‹
Appletviewer Java -™ â¿îŠð´‹ Applet â‹ õ¬èJ¬ù
꣘‰î ¹«ó£Aó£‹èœ ê K ò £ è
Þòƒ°A¡øùõ£ â¡ðî¬ù êK𣘊ð
ðò¡ð´‹ Tool ݰ‹. ªð£¶õ£è Applet -èœ Browser -èO™
Þòƒ°‹ â¡ðî¬ù G¬ùM™ ªè£œè.
RangaRakes [Link]
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 -èÀè¢è£è à¼õ£‚èð†´ ÜõŸ¬ø
RangaRakes [Link]
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 -è÷¤ô¢ ñ£ø¢øé¢è÷¢ ªêŒò «õ‡´‹. Üî£õ¶ àƒèœ
[Link] File -™ Java â‰î Sub directory -™ Þ¼‚A¡ø¶, ÜPò Library-
èœ âƒ° Þ¼‚A¡øù ºîô£ù îèõ™è¬÷ê¢ ªê£™ô «õ‡´‹. Ü
W›è‡ì õKè¬÷ [Link] File -™ ñ£ŸP‚ ªè£œÀƒèœ.
SET PATH= $PATH$;C:\JDK1.2\BIN
SET CLASSPATH=C:\JDK1.2\Classes;C:\JDK1.2\ Lib\[Link]
[Link] â¡ð¶ C:\ -™ Þ¼‚èîò ê£î£óí TextFile .
Üî¬ù ãî£õ¶ å¼ ê£î£óí Text Editor -™ Open ªêŒ¶‚ ªè£œ÷ô£‹.
M™ â¡ù ªêŒò Þò½‹
Java -M™
ªð£¶õ£è Java -õ¤ô¢ Applet ñŸÁ‹ Application ÝAò Þó‡´ õ¬è
¹«ó£Aó£‹è¬÷ à¼õ£‚°A¡«ø£‹. Applet â¡ð¶ Internet Browser -èO™
Þòƒèîò¶. ²¼ƒèè¢ÃP¡ Internet -™ ðò¡ð´‹ ¹«ó£Aó£‹èœ. Application
â¡ð¶ ê£î£óíñ£è  â¿¶‹ ñŸø â™ô£ ¹«ó£Aó£‹è¬÷»‹ °P‚°‹.
ºî™ Java ¹«ó£Aó£‹
Þƒ«è W«ö ªè£´‚èŠð†®¼‚°‹ ¬ìò ºî™ Java ¹«ó£Aó£I¬ù
ÜŠð®«ò ãî£õ¶ å¼ Text Editor -™ ¬ìŠ ªêŒ¶ ªè£œÀƒèœ. H¡ù˜
Ü [Link] â¡Á ªðòK†´ Save ªêŒ»ƒèœ.
RangaRakes [Link]
9
[Link]
class first
{
public static void main (String arg[ ])
{
[Link](“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
RangaRakes [Link]
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 [Link]
â¡Á ¬ìŠ ªêŒ»ƒèœ. 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«ö è‡ìõ£Á è†ì¬÷¬ò‚
ªè£´ƒèœ.
RangaRakes [Link]
11
C:\JDK1.2 >javac [Link]
Þ ‰ î javac â ¡  ‹ Compiler Tool Ýù¶ ¬ìò ¹«ó£Aó£‹
º¿õ¬î»‹ Compile ªêŒ¶ Üî¬ù Byte coded class file Ýè à¼õ£‚Aˆ
î¼A¡ø¶. Þð¢ªð£¿¶ [Link] âù¢Âñ¢ ¹î¤ò 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й
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ƒ º¬øèœ
ªð£¶õ£è â‰î è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-
RangaRakes [Link]
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 -¬ù
RangaRakes [Link]
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;
RangaRakes [Link]
14
total=tamil+english+maths+science+social;
avg=total/5;
[Link](“Roll Number : “ + rollno);
[Link](“Student Name : “ + sname);
[Link](“Tamil : “ + tamil);
[Link](“English : “ + english);
[Link](“Maths : “ + maths);
[Link](“Science : “ + science);
[Link](“Social : “ + social);
[Link](“Total : “ + total);
[Link](“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
ªêŒõîŸè£è [Link] â¡Â‹ 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‚°‹.
RangaRakes [Link]
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
RangaRakes [Link]
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
{
RangaRakes [Link]
17
public static void main(String argv[])
{
int x;
int y;
x=30;
y=50;
if (x > y)
{
[Link](“X is greater than Y”);
}
else
if (x < y)
{
[Link](“Y is greater than X”);
}
else
{
[Link](“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
RangaRakes [Link]
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;
[Link](“Roll Number : “ + rollno);
[Link](“Student Name : “ + sname);
[Link](“Tamil : “ + tamil);
[Link](“English : “ + english);
[Link](“Maths : “ + maths);
[Link](“Science : “ + science);
[Link](“Social : “ + social);
[Link](“Total : “ + total);
[Link](“Average : “ + avg);
RangaRakes [Link]
19
if (tamil>=40 && english>=40 && maths>=40 &&
science>=40 && social>=40)
{
[Link](“Result : Pass”);
}
else
{
[Link](“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
RangaRakes [Link]
20
{
public static void main(String arg[])
{
int x;
for (x=1; x<=100; x++)
{
[Link](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
RangaRakes [Link]
21
{
public static void main(String arg[])
{
int x;
x=1;
while (x!=100)
{
[Link](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[])
{
RangaRakes [Link]
22
int x;
x=1;
do
{
[Link](x);
x++;
}while (x!=100);
}
}
Þ颰 ºîô¤ô¢ do -õ¤¬ù ܴ Þ¼è¢è¤ù¢ø èì¢ì¬÷è÷¢ Þò颰ñ¢
ð¤ù¢ùó¢ î£ù¢ while -ô¢ Þ¼è¢è¤ù¢ø condition êó¤ð£ó¢èè¢ð¢ð´ñ¢. Þï¢î õ¬èò¤ô¢
å«ó å¼ îì¬õò£õ¶ do while loop -ù¢ à÷¢ à÷¢÷ èì¢ì¬÷è÷¢ Þòé¢è¤õ¤´ñ¢
ù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢è.
RangaRakes [Link]
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 -è÷¢ ðòù¢ð´è¤ù¢øù.
RangaRakes [Link]
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()
{
[Link](“Book Name : “ + bookname);
[Link](“Author Name : “ + authorname);
[Link](“Publisher : “ + publisher);
[Link](“Price : “ + price);
[Link](“—————————————————”);
}
RangaRakes [Link]
25
public static void main(String arg[])
{
book java = new book();
book oracle = new book();
[Link](“Java Language”,”Packianathan”,
”AnuRagham”,250);
[Link](“Oracle Datbase”,”Packianathan”,
”AnuRagham”,125);
[Link]();
[Link]();
}
}
Þï¢ î 𢠹«ó£è¤ó£ñ¤ô¢ 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
RangaRakes [Link]
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 -è÷¢ Þ¼ð¢ðî£è 郎ùõ¤ô¢
ªè£÷¢Àé¢è÷¢. «ñ½ñ¢ ¹«ó£è¤ó£ñ¤¬ù ï¦é¢è÷¢ àø¢Áð¢ ð£ó¢¬èò¤ô¢
[Link](‘Java Language’,‘Packia Nathan’,‘Anuragham’, 150);
[Link](‘Oracle Database’,‘Packia Nathan’,’Anuragham’, 125) ;
âù¢Á Þ¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ java âù¢ø Object -®ô¢ à÷¢÷ store
function -ù¤¬ù»ñ¢ ܶ«ð£ô oracle âù¢ ø object -ô¢ à÷¢ ÷ store function-
ù¤¬ù»ñ¢ ðòù¢ð´î¢î¤ Üï¢îï¢î Object -´è÷¤ô¢ à÷¢÷ data member -è÷¤ô¢
îèõô¢è¬÷ð¢ ðî¤ï¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
Þ颰 Object ªðòó¤ø¢è¢°ñ¢ function -ù¤ù¢ ªðòó¤ø¢è¢°ñ¢ ï´õ¤ô¢ å¼ ¹÷¢÷¤
Þ¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ Þï¢î Object -®ô¢ Þ¼è¢è¤ù¢ø function
âù¢ Á °ø¤ð¢ ð îø¢ è ¢ è £è Þõ¢ õ £Á ªè£´è¢ è ð¢ ð ´è¤ù¢ ø ¶. «ñ½ñ¢ Þ«î
º¬øò¤¬ùð¢ ðòù¢ð´î¢î¤
[Link]( )
[Link]( )
âù¢Á 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)
RangaRakes [Link]
27
{
empno=tempno;
ename=tename;
job=tjob;
salary=tsalary;
}
public void view()
{
[Link](“Employee Number : “ + empno);
[Link](“Employee Name : “ + ename);
[Link](“Job : “ + job);
[Link](“Salary : “ + salary);
}
}
class tata
{
public static void main(String arg[])
{
emp nancy = new emp();
emp john = new emp();
[Link](101,”Nancy Jenifer”,”Analyst”,6000);
[Link](102,”John Thomas”,”Programmer”,6000);
[Link]();
[Link]();
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤ô¢ emp âù¢ø class åù¢Áñ¢ Tata âù¢ø class åù¢Áñ¢
â¿îð¢ð좮¼è¢è¤ù¢øù. Þï¢î Þóí¢´ class -ø¢è¢°ñ¢ Þ¬ìò¤ô¢ âï¢îªõ£¼
ªî£ìó¢¹ñ¢ Þô¢¬ô.
emp âÂñ¢ class -ô¢ å¼ èñ¢ªðù¤ò¤ô¢ «õ¬ôð¢ ð£ó¢è¢è¤ù¢ø ªî£ö¤ô£÷ó¢
è÷¤ù¢ îèõô¢è¬÷è¢ ¬èò£÷¢õîø¢°ø¤ò ¹«ó£è¤ó£ñ¤¬ù â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢.
RangaRakes [Link]
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] ºîô£ù
Þùé¢ è ÷¢ ðòù¢ ð ´î¢ î ð¢ ð ìõ¤ô¢ ¬ ô. ܬõ åõ¢ ª õ£ù¢ Á ñ¢ ªõõ¢ « õÁ
RangaRakes [Link]
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()
{
[Link](“Father’s Name : “ + fname);
[Link](“Father’s Age : “ + fage);
RangaRakes [Link]
30
[Link](“”);
}
}
class child extends father
{
String cname;
int cage;
public void store(String tcname, int tcage)
{
cname=tcname;
cage=tcage;
}
public void display()
{
[Link](“Child’s Name : “ + cname);
[Link](“Child’s Age : “ + cage);
[Link](“”);
}
}
class school
{
public static void main(String arg[])
{
child allen = new child();
[Link](“Sebastian Raj”,30);
[Link](“Allen Smith”,3);
[Link]();
[Link]();
}
}
RangaRakes [Link]
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 -¬ù à¼õ£è¢è¤
ò¤¼è¢è¤ù¢«ø£ñ¢. Þ颰
[Link](...)
[Link]( )
ºîô£ù¬õ Child Class -¬ìò function -è÷¢ ݰñ¢.
[Link](...)
[Link]( )
ºîô£ù¬õ father class -ù¢ function -è÷ ݰñ¢. Þï¢î function -è÷¢ allen
âù¢  ñ¢ child class -ù¢ Íôñ¢ Þòé¢ ° è¤ù¢ ø ¶ âù¢ ð î¬ù Üø¤õîù¢ Í ôñ¢
Inheritance âõ¢õ£Á Þò颰è¤ù¢ø¶ âù¢ðî¬ù Üø¤ï¢¶ ªè£÷¢÷ô£ñ¢.
°ø¤ð¢¹
Java -õ¤¬ù𢠪ð£¼î¢îõ¬óò¤ô¢ åõ¢ªõ£¼ °ø¤ð¢ð¤ì¢ì «õ¬ôò¤¬ùê¢
ªêò¢õîø¢°ñ¢ âù¢Á ðô¢«õÁ class -è÷¢ â¿î¤ ¬õè¢èð¢ð좴 Þ¼è¢è¤ù¢øù.
Üï¢ î class -è¬÷ ï£ñ¢ «î¬õè¢ « èø¢ ø £ó¢ « ð£ô Object -´è÷£è à¼õ£è¢ è ¤
ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ «õí¢´ñ¢. Üô¢ô¶ ï£ñ£è å¼ class -¬ù à¼õ£è¢è¤
Üï¢ î class -ø¢ ° ãø¢ è ¢ ª èù«õ Þ¼è¢ è ¤ù¢ ø Java class -è÷¤¬ù extend
èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î¤ Inheritance ªêò¢¶ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
RangaRakes [Link]
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()
{
[Link](“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 åù¢Áñ¢ â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
RangaRakes [Link]
33
Þ¶ Þï¢î class -ù¢ constructor function ݰñ¢. ÞîÂ÷¢,
[Link](“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=[Link];
}
Java-5
RangaRakes [Link]
34
public void store(int tx,int ty,int tradius)
{
x=tx;
y=ty;
radius=tradius;
}
public void display()
{
[Link](“X value: “ + x);
[Link](“Y value: “ + y);
[Link](“Radius: “ + radius);
[Link](“”);
}
}
class check
{
public static void main(String arg[])
{
circle one = new circle();
circle two = new circle(5,10,15);
circle three = new circle(two);
[Link]();
[Link]();
[Link]();
}
}
Þï¢ î ¹«ó£è¤ó£ñ¤ô¢ circle âù¢ Á å¼ class â¿îð¢ ð ì¢ ® ¼è¢ è ¤ù¢ ø ¶.
ê£î£óíñ£è å¼ circle õ¬óò «õí¢´ñ¢ âù¢ø£ô¢ ¬ñòð¢¹÷¢÷¤»ñ¢(Centre
Point) Ýóºñ¢(Radius) «î¬õ. âù«õ ï£ñ¢ x, y ñø¢Áñ¢ radius âù¢Á Íù¢Á
variable -è¬÷ class-ù¢ à÷¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. circle âù¢ø ªðòó¤ô¢ Íù¢Á
Constructor function -è÷¢ â¿îð¢ ð ì¢ ® ¼ð¢ ð ¬îè¢ èõù¤»é¢ è ÷¢ . ºîô¢ circle
constructor function -ù ¤ ô ¢ â ï ¢ î å ¼ ñ î ¤ ð ¢ ¹ è À ñ ¢ argument -è ÷ £ è
RangaRakes [Link]
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 -è÷¤ô¢
RangaRakes [Link]
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 -¬ù ,
RangaRakes [Link]
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)
{
[Link] = rollno;
[Link] = name;
}
public void display()
{
[Link](“Roll Number: “ + [Link]);
[Link](“Name: “ + [Link]);
[Link](“”);
}
public static void main(String arg[])
{
student nancy = new student();
RangaRakes [Link]
38
student john = new student();
student george = new student();
[Link](1,”Nancy Jenifer”);
[Link]();
[Link](2,”John Thomas”);
[Link]();
[Link](3,”George Clinton”);
[Link]();
}
}
Þ颰 student âù¢Âñ¢ class ô¢ õ¬óò¼è¢èð¢ð좴÷¢÷ RollNo, Name,
Ýè¤ò variable -è¬÷ Üï¢î class-ù¢ function è÷¤ô¢ [Link], [Link] âù¢Á
ðòù¢ð´î¢î¤ò¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ Student class -ø¢è¢°, ï£ñ¢ nancy,
john, george âù¢Á Íù¢Á Object -è÷¢ à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Íù¢Á
object -´èÀ袰ñ¢ îù¤î¢îù¤ò£è Rollno, Name ºîô£ù variable-è÷¢ Þ¼ð¢ð¬î
郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢. ï£ñ¢ [Link]( ), [Link]( ) âù¢Á õ¬èò¤ô¢
function -è¬÷ àð«ò£è¤è¢°ñ¢ ªð£¿¶, Üï¢î function -è÷¤ô¢ [Link], [Link]
âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ Üï¢îï¢î 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
RangaRakes [Link]
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()
{
[Link](“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()
RangaRakes [Link]
40
{
[Link](“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 âù¢ð¶ child class Ýè¾ñ¢ Þ¼è¢è¤ùø
¢ ¶. Þóí¢´ class è÷¤½«ñ constructor
function â¿îð¢ð좮¼è¢è¤ùø
¢ ¶. main( ) function -ù¤ô¢ ï£ñ¢ city chennai = new city (‘chennai’)
âù¢Á ªè£´î¢¶ chennai âù¢Á å¼ Object -¬ù city âÂñ¢ class -ô¢ ޼
à¼õ£è¢°è¤ù« ¢ ø£ñ¢. ï£ñ¢ parameter Ýè ªè£´è¢°ñ¢ ‘Chennai’ âù¢ø ñî¤ð¹ ¢ city class -ù¢
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 -è¬÷ îù¢ùèî¢«î ªè£í¢´÷¢÷¶. Þõø¢¬ø ï£ñ¢ «õí¢®ò êñòé¢è÷¤ô¢
RangaRakes [Link]
41
ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ «õí¢´ñ¢.
܆ìõ¬í 1.2
Standard Java Packages
Api Packages Description
[Link] Applet classes and interfaces
[Link] Absract windowing Toolkit ( Awt)
Class and interfaces.
[Link] (sub Package of Awt) Bitmap image
classes and interfaces.
[Link] (subpackage of Awt) Platform-specific
AWT Classes and interfaces
(such ads Windows, sun, and machitosh)
[Link] Input/Output classes and interfaces
[Link] Core java language classes and interfaces.
[Link] Network classes and interfaces.
[Link] Utility classes and interface.
[Link] Debuging classes and interface.
Import
å¼ Package -ô¢ à÷¢÷ class -è¬÷»ñ¢ ñø¢Áñ¢ ¹«ó£è¤ó£ñ¢è¬÷»ñ¢, ï£ñ¢
â¿¶è¤ù¢ø ¹«ó£è¤ó£ñ¢è÷¢ ðòù¢ð´î¢î «õí¢´ñ¢ âù¢ø£ô¢ ºîô¤ô¢ Üï¢î Package
-è¬÷ ï£ñ¢ ïñ¢º¬ìò ¹«ó£è¤ó£ñ¤ô¢ ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢ âù¢Á ªê£ô¢õîø¢°
import âù¢ø èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î «õí¢´ñ¢. import -èì¢ì¬÷ò¤¬ùè¢
ªè£´î¢¶ Package -ù¢ ªðòó¤¬ùè¢ ªè£´ð¢ðîù¢ Íôñ¢ å¼ Package -ô¢ à÷¢÷
ܬù class -è¬÷»ñ¢ ïñ¢º¬ìò ¹«ó£è¤ó£ñ¢è÷¤ô¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷
Þò½ñ¢.
import [Link].*;
import [Link].* ;
import [Link] ;
«ñ£ô¢ ªè£´è¢èð¢ð좴÷¢÷ â´î¢¶è¢ è£ì¢´è÷¤ù¢ ð® ï£ñ¢ applet, awt,
net ºîô¤ò Package è¬÷ import ªêò¢ î ¤¼è¢ è ¤ù¢ « ø£ñ¢ . Üõø¢ ø ¤ô¢ * âù¢ Á
ªè£´è¢èð¢ð좮¼ð¢ðîù¢ ªð£¼÷¢ âù¢ù ªõù¢ø£ô¢. Üï¢î Package -ô¢ à÷¢÷
ܬù class -è¬÷»ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢ âù¢ð¶ ݰñ¢.
RangaRakes [Link]
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 [Link].*;
import [Link];
public class helloapplet extends [Link]
{
public void init()
{
resize(200,150);
}
RangaRakes [Link]
43
public void paint(Graphics g)
{
[Link](“Hello World!”, 50,50);
}
}
«ñ«ô ªè£´è¢èð¢ð 좴 ÷¢÷ ¹«ó£è¤ó£ñ¤¬ù Üð¢ð®«ò å¼ editor -ô¢
Type ªêò¢ ¶ ªè£÷¢ À é¢ è ÷¢ . file-ä save ªêò¢ » ñ¢ ªð£¿¶ ñøè¢ è £ñô¢
[Link] âù¢ø ªðòó¤ô¢ ð ªêò¢»éè÷¢. ãªùù¤ô¢ ï£ñ¢
â¿î¤ò¤¼è¢ è ¤ù¢ ø class Ýù¶ public class Ýè Þ¼è¢ è ¤ù¢ ø ¶. ï£ñ¢ Java
¹«óè¤ó£ñ¤ù¤ô¢ public class åù¢ø¤¬ù â¿¶«õ£«ñò£ù£ô¢ Üï¢î file ô¤ø¢°
ªðòó¤´ñ¢ ªð£¿¶ Üï¢î class -ù¢ ªðòó¤¬ù«ò ªè£´è¢è «õí¢´ñ¢ âù¢ðî¬ù
郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
import [Link].*;
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 applet âù¢ø Package -
ä ï£ñ¢ import ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Package-ô¢ î£ù¢ applet ¹«ó£è¤ó£ñ¢è¬÷
â¿¶õîø¢°î¢ «î¬õò£ù class -è÷¢ Þ¼è¢è¤ù¢øù. «ñ½ñ¢
public class HelloworldApplet extends [Link]
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Üî£õ¶ HelloworldApplet âù¢Á
ï£ñ¢ â¿¶è¤ù¢ ø ¹î¤ò class -ø¢ è ¢ ° [Link] âù¢ Á ãø¢ è ¢ ª èù«õ
Þ¼è¢è¤ù¢ø å¼ class -àìù¢ extends èì¢ì¬÷ò¤¬ùð¢ ðòù¢ð´î¢î¤ inheritance
ªêò¢òð¢ ð좮 ¼è¢è¤ù¢ø¶. ï¦é ¢è÷¢ âð¢ªð£¿¶ Applet õ¬èò¤¬ùê¢ ê£ó¢ï¢î
¹«ó£è¤ó£ñ¢è¬÷ â¿î «õí¢®ò¤¼ï¢î£½ñ¢ Üð¢ªð£¿¶ªîô¢ô£ñ¢ «ñø¢è¢èí¢ì
º¬øò¤¬ù èì¢ì£òñ£è ð¤ù¢ðø¢ø¤ò£è «õí¢´ñ¢.
ãªùù¤ô¢ [Link] âù¢ø class Ýù¶ º¿è¢è º¿è¢è Applet -
è¬÷ à¼õ£è¢ è ¤ èì¢ ´ ð¢ ð ´î¢ î ¤è¢ Ã®ò ܬùî¢ ¶ ¹«ó£è¤ó£ñ¢ è ¬÷»ñ¢
îù¢ùèî¢«î ªè£í¢ì å¼ class ݶñ¢. ï£ñ¢ â¿¶è¤ù¢ø Class -ø¢è¢° Þï¢î
class àìù¢ inheritance ªêò¢»ñ¢ ªð£¿¶ ïñ¢º¬ìò class Ýù¶ å¼ Applet
Class Ýè ñ£ø¤õ¤´è¤ù¢ø¶. ð¤ù¢ùó¢ ïñè¢°î¢ «î¬õò£ù ¹«ó£è¤ó£ñ¢è¬÷
ñ좴ñ¢ Þï¢î class ù¢ à÷¢ â¿î¤è¢ ªè£í¢ì£ô¢ «ð£¶ñ£ù¶.
public void init( )
{
...
}
RangaRakes [Link]
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 [Link];
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. 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 ¬ù ñì¢ ´ «ñ
RangaRakes [Link]
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 [Link]
¹«ó£è¤ó£ñ£ù¶ êó¤ò£è ޼袰ñ¢ ðì¢êî¢î¤ô¢ [Link] âù¢ø file
åù¢Á à¼õ£è¢è¤ò¤¼è¢°ñ.¢ Þð¢ªð£¿¶ ï£ñ¢ [Link] âù¢Âñ¢
Applet- ®¬ù Þò袰õîø¢è£è èì¢ì£òñ£è å¼ HTML file -ô¤¬ù
à¼õ£è¢ è ¤ò£è «õí¢ ´ ñ¢ . Java Source code -®¬ù âï¢ î Editor -ô¢ Type
ªêò¢ î ¦ ó ¢ è «÷£ Ü«î editor -ô¢ è¦ « ö ªè£´è¢ ð ¢ ð ì¢ ´ ÷¢ ÷ õó¤è¬÷𢠹î¤î£è
Type ªêò¢¶ ªè£÷¢Àé¢è÷¢.
<applet code="[Link]" width=200 height=150>
</applet>
«ñ«ô ªè£´è¢èð¢ð좴÷¢÷õ£Á Type ªêò¢¶ º®î¢î¾ìù¢ plain ascii text format-
ô¢ Üî£õ¶ ê£î£óí text file õ®õî¢î¤ô¢ [Link] âù¢ø ªðòó¤¬ùè¢
ªè£´î¢¶ Save ªêò¢¶ ªè£÷¢Àé¢è÷¢. filename «õÁ ãî£õî£è Ãì ªè£´î¢¶è¢
ªè£÷¢÷ô£ñ¢. Ýù£ô¢ extension Ýù¶ .htm Üô¢ô¶ .html âù¢Á ªè£´è¢èð¢ðì
«õí¢´ñ¢.
àé¢èÀ袰 HTML ªîó¤ïî
¢ ¤¼è¢°ñ¢ âù¢Á 郎ùè¢è¤ù«
¢ øù¢. Þô¢¬ô âù¢ø£½ñ¢
ðóõ£ò¤ô¢¬ô. Þï¢î HTML ªñ£ö¤ò¤ô¢ åõ¢ªõ£¼ °ø¤ð¢ð¤ì¢ì «õ¬ôèò¤¬ù»ñ¢
ªêò¢õîø¢èª¢ èù¢Á îù¤ò£è tag âù¢ø¬öè¢èð¢ð´ñ¢ èì¢ì¬÷è÷¢ Þ¼è¢è¤ùø ¢ ù. Þõø¢ø¤ô¢
Applet -è¬÷ Browser -ô¢ Þò袰õîø¢° ðòù¢ð´ñ¢ èì¢ì¬÷ò£è <applet code...> âù¢Âñ¢
RangaRakes [Link]
46
tag èì¢ì¬÷ð¢ ðòù¢ð´è¤ùø ¢ ¶. Þï¢î èì¢ì¬÷ò¤ô¢ [Link] âù¢Á ï£ñ¢ à¼õ£è¢è¤ò
Java Class file ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Height ñø¢Áñ¢ Width âù¢Á
ªè£´è¢èð¢ð좴 Üõø¢ø¤øø° ñî¤ð¹
¢ è¬÷ ªè£´è¢èð¢ð좮¼ð¢ð¬î»ñ¢ èõù¤»é¢è÷¢.
Þõø¢ø¤è°
¢ ñî¤ð¹
¢ è¬÷ èì¢ì£òñ£è ªè£´è¢è «õí¢´ñ¢. ãªùù¤ô¢ Þ¬õ«ò Applet
-ù¢ ï¦÷, Üèôé¢è¬÷ º®¾ ªêò¢è¤ùø
¢ ù. ï¦éè
¢ ÷¢ Applet ¹«ó£è¤ó£ñ¢è¬÷ Java -õ¤ô¢
à¼õ£è¢è¤ù£ô¢ Üõø¢¬ø Þò袰õîø¢° èì¢ì£òñ£è HTML file -è¬÷ à¼õ£è¢è¤
Üõø¢ø¤ô¢
<applet code=‘[Link]’ width=200 Height=150>
</applet>
âù¢ø õ¬èò¤ô¢ èì¢ì¬÷è¬÷ â¿î «õí¢´ñ¢. Þù¤ Applet -è¬÷ âõ¢õ£Á
Þò袰õ¶ âù¢Á ð£ó¢ð¢«ð£ñ¢. Java Developement Kit (JDK) -ô¢ Applet Viewer
â¿î¤ò tool Þ¼è¢è¤ù¢ø¶. Þî¬ùð¢ ðòù¢ð´î¢î¤ ï£ñ¢ â¿î¤ò Applet -è÷¢
êó¤ò£è Þò颰è¤ù¢øî£ âù¢ðî¬ùê¢ êó¤ð£ó¢î¢¶è¢ ªè£÷¢÷ô£ñ¢. 覫ö ªè£´è¢èð¢
ð좴÷¢÷¶ «ð£ô¢ ªè£´î¢¶ Applet Viewer -ø¤¬ù Þò袰é¢è÷¢.
C:\JDK1.2> appletviewer [Link]
Þ𢠪 𣿶 windows -ù¢ à÷¢ ªêù¢ Á è¦ « ö ªè£´è¢ è ð¢ ð ì¢ ´ ÷¢ ÷ ¶ «ð£ô¢
AppletViewer Þò颰ñ¢. ÜîÂ÷¢ ï£ñ¢ â¿î¤ò Applet ¹«ó£è¤ó£ñ¢ Þò颰õ¬î»ñ¢
è£íô£ñ¢.
ðì‹ 3.1
RangaRakes [Link]
47
appletviewer -ø¤¬ùî¢ îõ¤óî
¢ ¶
¢ ï£ñ¢ «ïó®ò£è«õ Browser -è÷¤½ñ¢ Applet -è¬÷
Þòè¢è¤è¢ ªè£÷¢÷ô£ñ¢. â´î¢¶è¢è£ì¢ì£è Internet Explorer âÂñ¢ Browser ø¤¬ù Windows
-ô¢ Open ªêò¢¶ ªè£÷¢Àé¢è÷¢.
ðì‹ 3.2
Þï¢î Internet Exlorer Browser Ýù¶ open Ýè¤ò¾ìù¢ Üî¤ô¢ Þ¼è¢è¤ùø
¢ Address
Line -ô¢ ïñ¢º¬ìò HTML file âï¢î folder -ô¢ Þ¼è¢è¤ùø
¢ «î£ Üî¬ùê¢ êó¤ò£è Ãø¤ file
-ù¢ ªðòó¤¬ùè¢ ªè£´î¢«î£«ñò£ù£ô¢ ïñ¢º¬ìò Applet Ýù¶ Browse -ô¢ Þò颰ñ¢.
ðì‹ 3.3
RangaRakes [Link]
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.2
import [Link].*;
import [Link];
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();
RangaRakes [Link]
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 ªêò¢î¤¼è¢è¤ù¢«ø£ñ¢.
RangaRakes [Link]
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 -è¬÷ à¼õ£è¢°õîø¢°ð¢ ðòù¢ð´è¤ù¢ø¶. Þ«î
RangaRakes [Link]
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 ݰñ¢.
RangaRakes [Link]
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 ªêò¢¶ õ¤ì¢´ [Link] âù¢Á
ªðòó¤ì¢´ ð¤ù¢ ºù¢ùó¢ °ø¤ð¢ð¤ì¢ì º¬øè÷¤ô¢ Compile ªêò¢¶ õ¤´é¢è÷¢.
ܴ [Link] âù¢Âñ¢ file- ¬ù à¼õ£è¢è¤ Üî¤ô¢ ð¤ù¢õ¼ñ¢ õó¤è¬÷
RangaRakes [Link]
53
Type ªè£÷¢Àé¢è÷¢.
<applet code="[Link]" width=500 height=200>
</applet>
Þî¬ù appletviewer [Link] âù¢Á ªè£´î¢¶ Þòè¢è¤ð¢ ð£ó¢ð¦ó¢è÷£ù£ô¢
覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ù¢Á Þò颰ñ¢.
ðì‹ 3.4
Listing 3.3
import [Link].*;
import [Link].*;
import [Link].*;
public class textsum extends Applet implements ActionListener
{
TextField x,y,tot;
public void init()
{
Label xp=new Label(“X:”,[Link]);
Label yp=new Label(“Y:”,[Link]);
RangaRakes [Link]
54
Label totp=new Label(“Total:”,[Link]);
x=new TextField(5);
y=new TextField(5);
tot=new TextField(10);
add(xp);
add(x);
add(yp);
add(y);
add(totp);
add(tot);
[Link](this);
[Link](this);
[Link](this);
}
public void actionPerformed(ActionEvent ae)
{
int a,b,c;
a=[Link]([Link]());
b=[Link]([Link]());
c=a+b;
[Link](“” + 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 -è÷¢ Þ¼è¢è¤ù¢øù. ïñ袰
RangaRakes [Link]
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 Ýõîø¢ è ¢ è £è
[Link] âù¢Á ªè£´è¢èð¢ð좮¼è¢è¤ù¢ø¶.
x, y, tot Ýè¤ò object-è÷¢ new operator -ø¤¬ùð¢ ðòù¢ð´î¢î¤ à¼õ£è¢èð
¢ðì¢ìð¤ù¢ ܬõ add function Íôñ¢ õó¤¬êò£è Applet -®Â÷¢ add ªêò¢òð¢
ð좮¼è¢è¤ù¢øù. ï£ñ¢ Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ºè¢è¤òñ£è èõù¤è¢è «õí¢®ò¶.
[Link](this);
[Link](this);
[Link](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 = [Link]([Link] ( ));
b = [Link]([Link] ( ));
âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þî¤ô¢ getText âù¢ð¶ TextField class
-ù¢ member function ݰñ¢ . Þî¬ùð¢ ðòù¢ ð ´î¢ ¶ ñ¢ ªð£¿¶ ï£ñ¢ âù¢ ù
ñî¤ð¢ ¹ è¬÷ TextField-è÷¤ù¢ à÷¢ Type ªêò¢ î ¤¼è¢ è ¤ù¢ « ø£«ñ£ Üõø¢ ¬ øð¢
RangaRakes [Link]
56
ªðø¢Á袪è£÷¢÷ô£ñ¢.
Þï¢î º¬øò¤ô¢ ï£ñ¢ TextField -è÷¤ô¢ ޼袰ñ¢ ñî¤ð¢¹è¬÷ ªð¼ñ¢ªð£¿¶
ܬõ String data type Ýè ޼袰ñ¢. Þõø¢¬ø int data type Ýè ñ£ø¢ø¤ù£ô¢
î£ù¢ ïñ袰 Calculation è¬÷ê¢ ªêò¢ò º®»ñ£îô£ô¢ [Link] âù¢Âñ¢
function ù¤¬ùð¢ ðòù¢ ð ´î¢ î ¤ò¤¼è¢ è ¤ù¢ « ø£ñ¢ . Þï¢ î [Link] function
Ýù¶ String õ®õ¤ô¢ ޼袰ñ¢ Number è¬÷ Integer data type Ýè ñ£ø¢ø¤è¢
ªè£´î¢¶õ¤´ñ¢.
ܴ c = a + b; âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ x , y Object -®ô¢ à÷¢÷
ñî¤ð¢¹è¬÷ Ã좮 c âÂñ¢ variable-ô¢ «ð£ì¢´ õ¤ì¢«ì£ñ¢. Þð¢ªð£¿¶ Þï¢î c
ò¤ô¢ à÷¢÷ ñî¤ð¢ð¤¬ù tot âù¢Âñ¢ TextField -ù¢ à÷¢ «ð£ì «õí¢´ñ¢ Üô¢ôõ£?
Üîø¢° TextField class -ô ¢ à÷¢÷ setText âù¢Âñ¢ function
ðòù¢ð´î¢îð¢ð´è¤ù¢ø¶.
[Link] (“” + c);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢ . SetText function -ù¤ù¢ Íôñ¢
String data è¬÷ ñì¢ ´ «ñ â¿î º®»ñ£îô£ô¢ c ò¤ô¢ à÷¢ ÷ Integer
ñî¤ð¢ ¹ è¬÷ type cast ªêò¢ õ îø¢ è ¢ è £è “” + c âù¢ Á String -°ìù¢ «êó¢ î ¢ ¶ è¢
ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢.
Þï¢î𢠹«ó£è¤ó£ñ¤¬ù compile ªêò¢¶ 覫ö ªè£´è¢èð¢ð좴÷¢÷õ£Á
à÷¢÷ õó¤è¬÷ð¢ ðòù¢ð´î¢î¤ HTML file åù¢ø¤¬ù à¼õ£è¢è¤ Üî¬ù Þòè¢è¤ð¢
ð£¼é¢è÷¢.
<applet code="[Link]" width=500 height=400>
</applet>
RangaRakes [Link]
57
ðì‹ 3.5
Listing 3.4
import [Link].*;
import [Link].*;
import [Link].*;
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()
RangaRakes [Link]
58
{
BorderLayout abc = new BorderLayout();
setLayout(abc);
add(top,[Link]);
add(bottom,[Link]);
add(right,[Link]);
add(left,[Link]);
add(hi,[Link]);
}
public boolean action(Event evt,Object arg)
{
if([Link] instanceof Button)
{
String lab=(String)arg;
if ([Link](“Top”))
{
[Link](“I am in Top”);
}
if ([Link](“Bottom”))
{
[Link](“I am in Bottom”);
}
if ([Link](“Left”))
{
[Link](“I am in Left”);
}
if ([Link](“Right”))
{
[Link](“I am in Right”);
}
}
return true;
}
RangaRakes [Link]
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,[Link]);
add(bottom,[Link]);
âù¢ø õ¬èò¤ô¢ âï¢î Þìî¢î¤ô¢ ܬõ õó «õí¢´ñ¢ âù¢Á °ø¤ð¢ð¤´õ¬îè¢
èõù¤»é¢è÷¢. Þð¢ªð£¿¶ ï£ñ¢ Button -è¬÷ à¼õ£è¢è¤ Üõø¢¬ø Applet -½ñ¢
add ªêò¢¶ õ¤ì¢«ì£ñ¢. ¹«ó£è¤ó£ñ¢ Þò颰ñ¢ ªð£¿¶ ï£ñ¢ Üï¢î Button è¬÷
Ü¿î¢ ¶ «õ£«ñò£ù£ô¢ (Press) âù¢ ù ïìè¢ è «õí¢ ´ ñ¢ âù¢ ð îø¢ ° ø¤ò
¹«ó£è¤ó£ñ¤¬ù â¿î «õí¢´ñ¢ Üô¢ôõ£? Üîø¢°,
public boolean action(Event evt, object arg)
âù¢ø event åù¢Á â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î action Event Ýù¶
âð¢ªð£¿ªîô¢ô£ñ¢ Button, Choice ºîô¤ò Class è÷¤ù¢ Object -è¬÷ Press ðù¢Âñ¢«ð£¶ñ¢
î£ù£è Þòé¢è¤õ¤´ñ¢. Þï¢î action Event -¬ùð¢ ðòù¢ ð´î¢¶õîø¢° âï¢îªõ£Á interface
-»ñ¢ Implement ªêò¢òî¬õò¤ô¢¬ô âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
Þòø¢è¬¢ èò£è«õ Event ñø¢Áñ¢ Object âù¢ø Þóí¢´ class è÷¤ù¢ variable è÷¢ parameter
RangaRakes [Link]
60
Þ¼ð¢ðîù£ô¢, Þõø¢ø¤ô¢ ï£ñ¢ âï¢î Button, Choice ºîô¤ò Object -¬ù Click ªêò¢è¤ù«
¢ ø£ñ¢
«ð£ù¢ø îèõô¢è÷¢ õ õ¤´è¤ùø ¢ ù.
if([Link] 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
RangaRakes [Link]
61
Listing 3.5
import [Link].*;
import [Link];
public class gridb extends Applet
{
protected void addGridBagButton(String buttonName,
GridBagLayout gb,GridBagConstraints gbc)
{
Button button=new Button(buttonName);
[Link](button,gbc);
add(button);
}
public void init()
{
resize(400,300);
GridBagLayout gridbag=new GridBagLayout();
GridBagConstraints c=new GridBagConstraints();
setLayout(gridbag);
[Link]=[Link];
[Link]=1.0;
addGridBagButton(“Button1”,gridbag,c);
[Link]=[Link];
addGridBagButton(“Button2”,gridbag,c);
addGridBagButton(“Button3”,gridbag,c);
[Link]=1.0;
addGridBagButton(“Button4”,gridbag,c);
[Link]=1;
[Link]=0.0;
addGridBagButton(“Button5”,gridbag,c);
[Link]=0.0;
addGridBagButton(“Button6”,gridbag,c);
[Link]=[Link];
RangaRakes [Link]
62
addGridBagButton(“Button7”,gridbag,c);
[Link]=1;
[Link]=2;
[Link]=1.5;
addGridBagButton(“Button8”,gridbag,c);
[Link]=0.0;
[Link]=[Link];
[Link]=1;
addGridBagButton(“Button9”,gridbag,c);
addGridBagButton(“Button10”,gridbag,c);
[Link]=1.0;
addGridBagButton(“Button11”,gridbag,c);
[Link]=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 âù¢Á ðô Property variable -è÷¢ Þ¼è¢è¤ùø
¢ ù. Þõø¢ø¤ô¢
«õí¢®ò ñî¤ð¢¹è¬÷ ªè£´î¢¶õ¤ì¢´ ð¤ù¢ùó¢ ܬõ âï¢î Object -ø¢° apply Ýè
«õí¢´ñ¢ âù¢Áñ¢ ªê£ô¢ô«õí¢´ñ¢.
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ Constraint Variable è÷¤ô¢ ñî¤ð¹
¢ è¬÷ Set ªêò¢õîø¢è¢ ªèù¢«ø
RangaRakes [Link]
63
addGridBagButton âù¢Âñ¢ function â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î function
-ô¢ «õí¢®ò Button Object -è¬÷ Üõø¢ø¤è¢°î¢ «î¬õò£ù constraint ñî¤ð¢¹è÷¤ô¢
assign ªêò¢¶ ªè£÷¢÷ô£ñ¢.
ðì‹ 3.7
Listing 3.6
import [Link].*;
import [Link];
import [Link].*;
public class cardtest extends Applet
{
CardLayout card = new CardLayout();
public void init()
{
resize(400,300);
setLayout(card);
Panel p1 = new Panel();
[Link](new Button(“This is a button on Panel One”));
add(p1,””);
RangaRakes [Link]
64
addMouseListener(p1);
Panel p2 = new Panel();
[Link](new Button(“This is a button on Panel Two”));
add(p2,””);
addMouseListener(p2);
Panel p3 = new Panel();
[Link](new Button(“This is a button on Panel Three”));
add(p3,””);
addMouseListener(p3);
Panel p4 = new Panel();
[Link](new Button(“This is a button on Panel Four”));
add(p4,””);
addMouseListener(p4);
[Link](this);
}
void addMouseListener(Panel p)
{
[Link](new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
[Link]([Link]);
}
});
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ CardLayout âù¢Âñ¢ Layout º¬ø õ¤÷è¢èð¢ð좴÷¢÷¶.
RangaRakes [Link]
65
Þï¢î Layout º¬øò¤ô¢ å«ó «ïóî¢î¤ô¢ å«ó å¼ Component -¬ù ñ좴«ñ
display ªêò¢¶ ªè£÷¢÷ º®»ñ¢. âù«õ ï£ñ¢ ðô¢«õÁ Panel -è¬÷ à¼õ£è¢è¤
Üõø¢ø¤ô¢ ªõõ¢«õÁ Layout -è¬÷ ªêò¢¶ ªè£÷¢÷ô£ñ¢. Ýù£ô¢ Þï¢î Panel
-è¬÷ åõ¢ªõ£ù¢ø£èî¢î£ù¢ CardLayout -ô¢ display ªêò¢¶ ªè£÷¢÷ º®»ñ¢
âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
ðì‹ 3.8
Þï¢ î ¹«ó£è¤ó£ñ¤ô¢ ðô Panel-è÷¢ à¼õ£è¢ è ð¢ ð ì¢ ® ¼è¢ è ¤ù¢ ø ù.
Üõø¢¬øè¢ Click ªêò¢î¾ìù¢ åõ¢ªõ£Á Panel Ýè ñ£ø¢ø¤ display ªêò¢»ñ¢ð®è¢°
[Link]([Link]) âù¢Âñ¢ function ðòù¢ð´î¢îð¢ð좮¼è¢è¤ù¢ø¶.
°ø¤ð¢¹
Þ¶õ¬ó ï£ñ¢ FlowLayout, GridLayout, GridBagLayout, BorderLayout,
CardLayout âù¢  ñ¢ äï¢ ¶ õ¬è Layout-è¬÷ ðòù¢ ð ´î¢ î ¤ âõ¢ õ £Á awt
Package-ô¢ à÷¢÷ TextField, Label, Button ºîô£ù ðô¢«õÁ Object -è¬÷
à¼õ£è¢ ° õ¶ âù¾ñ¢ , Üõø¢ ¬ ø ðòù¢ ð ´î¢ ¶ ñ¢ ªð£¿¶ âù¢ ù ïìè¢ è
«õí¢ ´ ñ¢ âù¢ Á ªê£ô¢ õ îø¢ è ¢ ° ø¤ò Event-è¬÷ âõ¢ õ £Á ¬èò£÷¢ õ ¶
âù¢ðî¬ù»ñ¢ Üø¤ï¢î¤¼è¢è¤ù¢«ø£ñ¢.
Windows Application
abstract windowing toolkit (awt) Package-ô¢ à÷¢ ÷ Component-è¬÷ð¢
RangaRakes [Link]
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 [Link].*;
import [Link].*;
public class appl
{
public static void main(String a[])
{
Frame baskar=new Frame(“Application”);
[Link](300,300);
[Link]();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ main ( ) function ù¤¬ù ðòù¢ð´î¢î¤ò¤¼ð¢ð¬îè¢
èõù¤»é¢è÷¢. âù«õ Þ¶ å¼ Application ݰñ¢. Þî¤ô¢
Frame xyz = new Frame(‘Application’);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î class-ù¢ Íôñ¢ ïñ袰
å¼ Window frame 褬ìè¢è¤ù¢ø¶. constructors-ô¢ ªè£´è¢°ñ¢ String Ýù¶
window õ¤ù¢ Title Ýè õ¼è¤ù¢ø¶. Þï¢î window õ£ù¶ âï¢î ï¦÷ñ¢ ñø¢Áñ¢
RangaRakes [Link]
67
Üèôî¢î¤ô¢ õó«õí¢´ñ¢ âù¢ðîø¢è¢è£è
[Link](300,300);
âù¢Âñ¢ member function ù¤¬ù ðòù¢ð´î¢î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ¼î¤ò£è
[Link] ( );
âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ ïñ¢º¬ìò frame Ýù¶ Display Ýè¤ù¢ø¶. Þî¬ù
javac [Link] âù¢Á ªè£´î¢¶ Compile ªêò¢¶ õ¤ì¢´ java appl âù¢Á ªè£´î¢¶
Run ªêò¢¶ ð£¼é¢è÷¢.
ðì‹ 3.9
«ñø¢èí¢ìõ£Á window ªîó¤õî¬ùè¢ è£íô£ñ¢. Þï¢î window -
õ¤ù¤ô¢ ªîó¤è¤ù¢ø Minimize ñø¢Áñ¢ Maximize Button-è÷¢ ºîô¤òù Þò颰ñ¢.
Ýù£ô¢ Close Button Ýù¶ Þòé¢è£¶. ãªùù¤ô¢ Üîø¢è¢ªèù¢Á îù¤ò£è
Event åù¢ø¤¬ù â¿î «õí¢´ñ¢. âù«õ Þï¢î ¹«ó£è¤ó£ñ¢ Þò颰ñ¢ ªð£¿¶
Dos Prompt-ô¢ Ctrl+C âù¢Á Shortcut key ò¤¬ùð¢ ðòù¢ð´î¢î¤ ¹«ó£è¤ó£ñ¤ù¢
Þòè¢èî ï¤Áî¢î¤è¢ ªè£÷¢Àé¢è÷¢.
Listing 3.8
import [Link].*;
RangaRakes [Link]
68
import [Link].*;
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)
{
[Link](0);
}
});
[Link](‘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,[Link]);
RangaRakes [Link]
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 -Âñ¢ î£ù£è Þòé¢è
RangaRakes [Link]
70
Ýóñ¢ð¤è¢è¤ù¢ø¶. Constructor Function ù¤ù¢ à÷¢
my_frm.addwindowListener(new windowAdopter( ) {
public void windowClosing (WindowEvent e ) {
[Link](0);
}
});
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶ ïñ¢º¬ìò frame Ýù
my_frm object-ù¢ Close Button ù¤¬ù click ªêò¢î£ô¢ Þò颰ñ¢ event ݰñ¢.
[Link] (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
RangaRakes [Link]
71
Menu Program
Listing 3.9
import [Link].*;
import [Link].*;
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...”);
// [Link](abc);
[Link](new MenuItem(“New”));
[Link](new MenuItem(“Open”));
[Link](new MenuItem(“Save”));
[Link](new MenuItem(“Save As”));
[Link](new MenuItem(“-”));
[Link](new MenuItem(“PageSetup”));
[Link](new MenuItem(“Print”));
[Link](new MenuItem(“-”));
[Link](new MenuItem(“Exit”));
[Link](new MenuItem(“Undo”));
[Link](new MenuItem(“-”));
[Link](new MenuItem(“Cut”));
[Link](new MenuItem(“Copy”));
[Link](new MenuItem(“Paste”));
[Link](File);
[Link](Edit);
my_frm.setMenuBar(bar);
my_frm.resize(300,300);
my_frm.show();
RangaRakes [Link]
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 è¬÷
à¼õ£è¢è¤è¢ ªè£÷¢÷ô£ñ¢.
[Link](new MenuItem(‘New’);
âù¢ ø º¬øò¤ô¢ MenuItem-è¬÷ à¼õ£è¢ è ¤è¢ ªè£÷¢ ÷ ô£ñ¢ . Þ¼î¤ò£è
ï ñ ¢ º ¬ ì ò Menu-è ¬ ÷ MenuBar object-´ ì ù ¢ Þ ¬ í è ¢ è « õ í ¢ ´ ñ ¢
âù¢ðîø¢è¢è£è
[Link](File);
[Link](Edit);
ܴ Þï¢î MenuBar-¬ù ïñ¢º¬ìò frame-ù¢ à÷¢ set ªêò¢ò «õí¢´ñ¢
âù¢ðîø¢è¢è£è
[Link](bar);
âù¢ø èì¢ì¬÷¬òð¢ ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢. è¬ìê¤ò¤ô¢ frame -¬ù Display
ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
RangaRakes [Link]
73
ðì‹ 3.11
RangaRakes [Link]
74
Üî¢î¤ò£òñ¢ 4.
JavaDraw å¼ º¿¬ñò£ù Drawing ¹«ó£è¤ó£ñ¢
awt-ò¤ô¢ à÷¢÷ ªð¼ñ¢ð£ù¢¬ñò£ù Class object-è¬÷è¢ ªè£í¢´ å¼
º¿¬ñò£ù Drawing ¹«ó£è¤ó£ñ¢ Þ颰 õ¤÷è¢èð¢ð´è¤ù¢ø¶. Þ¶ Applet Ýè¾ñ¢
Ü«î êñòî¢ î ¤ô¢ Application ¹«ó£è¤ó£ñ£è¾ñ¢ â¿îð¢ ð ì¢ ´ ÷¢ ÷ î£ô¢ å«ó
êñòî¢î¤ô¢ Þóí¢´ õ¬èè÷¤½ñ¢ ðòù¢ð´î¢î¤è¢ ªè£÷¢÷ô£ñ¢.
Þ¶ å¼ º¿¬ñò£ù ¹«ó£è¤ó£ñ£è Þ¼ð¢ðî£ô¢ Þîù¢ Þòè¢èî
Üø¤ï¢¶ ªè£í¢ìð¤ø° ïñ¢ñ£ô¢ ªðó¤ò ¹«ó£è¤ó£ñ¢è¬÷ â¿î Þò½ñ¢. Þï¢î
¹«ó£è¤ó£ñ¤ô¢ Line, Circle, Box ºîô£ù õ®õé¢è÷¤ô¢ â¶ «õí¢´«ñ£ Üî¬ù
ªîó¤¾ ªêò¢¶ «õí¢®ò èôó¢è÷¤ô¢ õ¬óòô£ñ¢. Üî£õ¶ 覫ö ªè£´è¢èð¢
ð좴÷¢÷ ðìî¢î¤ô¢ à÷¢÷¶ «ð£ô¢ Þò颰ñ¢.
ðì‹ 4.1
Þï¢î ¹«ó£è¤ó£ñ¢ å«ó File Ýè â¿îð¢ðìõ¤ô¢¬ô. ñ£ø£è ä îù¤î¢îù¤
Java ¹«ó£è¤ó£ñ¢è÷£è â¿îð¢ð좴÷¢÷ù ܬõ
[Link]
[Link]
[Link]
[Link]
[Link]
RangaRakes [Link]
75
è ¦ « ö ª è £ ´ è ¢ è ð ¢ ð ì ¢ ´ ÷ ¢ ÷ Þ ï ¢ î file-è ÷ ¤ ù ¢ Source File-è ¬ ÷ Þ é ¢ °
ªè£´è¢èð¢ð좴÷¢÷õ£«ø Type ªêò¢¶ Save ªêò¢î ð¤ù¢ îù¤î¢îù¤ò£è Compile
ªêò¢»é¢è÷¢.
[Link]
import [Link].*;
import [Link].*;
import [Link];
import [Link].*;
import [Link].*;
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([Link]);
RangaRakes [Link]
76
Button b=new Button(AboutButtonName);
[Link](new ActionHandler()
{
public void actionPerformed(ActionEvent e)
{
[Link](e);
[Link]();
}
});
add(b);
b=new Button(ClearButtonName);
[Link](new ActionHandler()
{
public void actionPerformed(ActionEvent e)
{
[Link](e);
[Link]();
}
});
add(b);
add(new Label(“Shape:”));
shapeChoice=new Choice();
[Link](“Line”);
[Link](“Rectangle”);
[Link](“Oval”);
[Link](“Polygon”);
[Link](“Arc”);
[Link](“Text”);
[Link](“Image”);
add(shapeChoice);
add(new Label(“Color:”));
colorChoice=new Choice();
[Link](“Black”);
RangaRakes [Link]
77
[Link](“Blue”);
[Link](“Cyan”);
[Link](“DarkGray”);
[Link](“Gray”);
[Link](“Green”);
[Link](“Light”);
[Link](“Magenta”);
[Link](“Orange”);
[Link](“Pink”);
[Link](“Red”);
[Link](“White”);
[Link](“Yellow”);
[Link](new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
String colorStr=[Link].
[Link]();
[Link]().
setForeground(UltraColor.
stringColor(colorStr));
[Link]();
}
});
add(colorChoice);
fillCheckbox=new Checkbox(“Fill”);
add(fillCheckbox);
threeDCheckbox=new Checkbox(“3D”);
add(threeDCheckbox);
}
public Dimension getPreferredSize()
{
RangaRakes [Link]
78
return new Dimension(width,height);
}
public void setSize(int width,int height)
{
if(width >0)
[Link]=width;
else
[Link]=_WIDTH;
if(height >0)
[Link]=height;
else
[Link]=_HEIGHT;
}
public void clearDrawCanvas()
{
Graphics g=getParent().getGraphics();
int w=getParent().getSize().width,
h=getParent().getSize().height;
[Link](0,0,w,h);
}
public void about()
{
About_Mode=true;
clearDrawCanvas();
Color fg=getParent().getForeground();
getParent().setForeground([Link]);
Graphics g=getParent().getGraphics();
[Link](“JavaDraw!”,10,70);
[Link](“by Aaron [Link]”,10,80);
[Link](“version 1.0”,10,90);
[Link](“revised 7.26.97”,10,100);
RangaRakes [Link]
79
getParent().setForeground(fg);
}
class ActionHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(About_Mode)
{
[Link]();
[Link].About_Mode=false;
}
}
}
public void paint(Graphics g)
{
for(int yOffset=0 ; yOffset<5 ; yOffset++)
{
[Link](0,
getSize().height-yOffset,
getSize().width,
getSize().height-yOffset);
}
}
public int getShape()
{
return [Link]();
}
public boolean isFilled()
{
return [Link]();
}
RangaRakes [Link]
80
public boolean isThreeD()
{
return [Link]();
}
}
[Link]
import [Link].*;
import [Link].*;
class JavaDrawFrame extends Frame
{
public JavaDrawFrame(String str)
{
super(str);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
[Link](0);
}
});
}
}
[Link]
import [Link].*;
import [Link].*;
import [Link].*;
import JavaDrawFrame;
RangaRakes [Link]
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=”[Link]”;
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<[Link];i++)
{
if([Link]
(args[i].substring(0,[Link]())))
{
strValue=args[i].substring([Link]());
if([Link](“\””))
{
strValue=[Link](1);
if([Link](“\””))
strValue=[Link]
Java-11
RangaRakes [Link]
82
(0,[Link]()-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!”);
[Link]();
[Link](false);
[Link]([Link]().left+
[Link]().right+400,[Link]().top+
[Link]().bottom+350);
JavaDraw applet_JavaDraw=new JavaDraw();
[Link](“Center”,applet_JavaDraw);
applet_JavaDraw.m_fStandAlone=true;
applet_JavaDraw.GetParameter(args);
applet_JavaDraw.init();
[Link]();
}
RangaRakes [Link]
83
public JavaDraw()
{
}
public String getAppletInfo()
{
return “Name:JavaDraw\r\n”+
“Author: Packia Nathan\r\n”;
}
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);
[Link](new BorderLayout());
setBackground([Link]);
guiPanel=new WidgetPanel();
add(“North”,guiPanel);
addMouseListener(getMouseListener());
addMouseMotionListener(getMouseMotionListener());
}
MouseListener getMouseListener()
RangaRakes [Link]
84
{
return new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
oldX=[Link]();
oldY=[Link]();
}
};
}
MouseMotionListener getMouseMotionListener()
{
return new MouseMotionAdapter()
{
public void mouseDragged(MouseEvent e)
{
[Link]([Link](),[Link]());
}
};
}
void draw(int x,int y)
{
Graphics g=getGraphics();
boolean fill=[Link](),
threeD=[Link]();
switch ([Link]())
{
case [Link]:
[Link](oldX,oldY,x,y);
break;
case [Link]:
if(fill)
RangaRakes [Link]
85
{
if(threeD)
g.fill3DRect(oldX,oldY,x,y,true);
else
[Link](oldX,oldY,x,y);
}else{
if (threeD)
g.draw3DRect
(oldX+1,oldY+1,x+1,y+1,true);
else
[Link](oldX,oldY,x,y);
}
break;
case [Link]:
if(fill)
{
[Link](oldX,oldY,x,y);
}else{
[Link](oldX,oldY,x,y);
}
break;
case [Link]:
if (fill)
{
[Link](oldX,oldY,100,100,x,y);
}else{
[Link](oldX,oldY,100,100,x,y);
}
break;
case [Link]:
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
RangaRakes [Link]
86
Polygon(xCoords,yCoords,[Link]);
if(fill)
{
[Link](thePoly);
}else{
[Link](thePoly);
}
break;
case [Link]:
[Link](new Font
(“Courier”,[Link],y/6));
[Link](“JavaDraw!”,x,y);
break;
case [Link]:
if (theImage==null)
if(m_fStandAlone)
{
theImage=Toolkit.
getDefaultToolkit().getImage(imagePath);
}else{
theImage=getImage
(getCodeBase(),imagePath);
}
int h=[Link](this);
int w=[Link](this);
if(fill)
{
[Link]
(theImage,x-(w/2),y-(h/2),
getForeground(),this);
}else{
[Link]
(theImage,x-(w/2),y-(h/2),this);
}
break;
RangaRakes [Link]
87
default:
break;
}
[Link]();
oldX=x;
oldY=y;
}
}
[Link]
public final class Shape
{
public final static int LINE=0,
RECT=1,
OVAL=2,
POLY=3,
ARC=4,
TEXT=5,
IMAGE=6;
private Shape()
{
}
}
[Link]
import [Link].*;
public class UltraColor
{
private UltraColor()
{
}
public static Color stringColor(String colorStr)
{
RangaRakes [Link]
88
Color theColor=null;
if([Link](“black”))
{
theColor=[Link];
}else if([Link](“blue”))
{
theColor=[Link];
}else if([Link](“cyan”))
{
theColor=[Link];
}else if([Link](“darkGray”))
{
theColor=[Link];
}else if([Link](“gray”))
{
theColor=[Link];
}else if([Link](“green”))
{
theColor=[Link];
}else if([Link](“lightGray”))
{
theColor=[Link];
}else if([Link](“magenta”))
{
theColor=[Link];
}else if([Link](“orange”))
{
theColor=[Link];
}else if([Link](“pink”))
{
theColor=[Link];
}else if([Link](“red”))
{
theColor=[Link];
RangaRakes [Link]
89
}else if([Link](“white”))
{
theColor=[Link];
}else if([Link](“yellow”))
{
theColor=[Link];
}else
{
[Link](“No COLOR MATCH”);
}
return theColor;
}
}
ºîô¤ô¢ [Link] âÂñ¢ file-ô¤ô¢ âù¢ ù â¿îð¢ ð ì¢ ® ¼è¢ è ¤ù¢ ø ¶
âù¢ðî¬ùè¢ è£í¢«ð£ñ¢. Þî¤ô¢ Shape âù¢Âñ¢ class à¼õ£è¢èð¢ð좴 Üî¤ô¢
LINE, RECT, OVAL, POLY, ARC, TEXT, IMAGE âù¢ ø Variable-è÷¢ Define
ªêò¢òð¢ð좴 Üõø¢ø¤ô¢ õó¤¬êò£è 0,1,2, â ù ¢ ø ñ î ¤ ð ¢ ¹ è ÷ ¢ ð î ¤ ò ð ¢
ð좮¼è¢è¤ù¢øù. Þõø¢¬ø ï£ñ¢ WidgetPanel âù¢Âñ¢ Class-ô¢ ðòù¢ð´î¢î¤è¢
ªè£÷¢è¤ù¢«ø£ñ¢.
ܴ [Link] âù¢Âñ¢ file-ô¢ âù¢ù â¿îð¢ð좮¼è¢è¤ù¢ø¶
âù¢ðî¬ùè¢ è£í¢«ð£ñ¢. Þî¤ô¢ UltraColor âù¢Âñ¢ class åù¢Á â¿îð¢ð좴
ÜîÂ÷¢ StringColor âù¢ªø£¼ method â¿îð¢ð좮¼è¢è¤ù¢ø¶. Þîù¢ Parameter
Ýè String Variable åù¢ Á ñ¢ return data type Ýè Color âù¢  ñ¢ class-ñ¢
ªè£´è¢èð¢ð좮¼è¢è¤ù¢ø¶.
ï£ñ¢ Þï¢î function-ù¤ù¢ Parameter-ô¢ âù¢ù Color «õí¢´ñ¢ âù¢Á
ªè£´ð¢«ð£ñ£ù£ô¢ Üï¢î Color-¬ù ªðø¢Áè¢ ªè£÷¢÷ô£ñ¢. Üî£õ¶ Java-
õ¤ô¢ èôó¢è¬÷ ¬èò£÷¢õîø¢è¢ªèù¢Á îù¤ò£è Color âù¢ªø£¼ class à÷¢÷¶.
Þï¢î Class-ù¢ object-®ø¢è¢°÷¢ ïñ袰 «î¬õò£ù èôó¤¬ù ðî¤ï¢¶ ¬õè¢
ªè£í¢ ´ Üõø¢ ¬ ø «õí¢ ® ò Þìî¢ î ¤ô¢ ðòù¢ ð ´î¢ î ¤è¢ ªè£÷¢ ÷ ô£ñ¢ .
[Link], [Link], [Link] âù¢ø õ¬èò¤ô¢ èôó¢è÷¤¬ùð¢ ðòù¢ð´î¢î¤è¢
ªè£÷¢ ÷ ô£ñ¢ . Þõø¢ ¬ ø ï£ñ¢ WidgetPanel ¹«ó£è¤ó£ñ¤ô¢ ðòù¢ ð ´î¢ î ¤è¢
ªè£÷¢Àè¤ù¢«ø£ñ¢.
Ü´î¢ ¶ [Link]-õ¤ô¢ âù¢ ù â¿îð¢ ð ì¢ ® ¼è¢ è ¤ù¢ ø ¶ âùè¢
Java-12
RangaRakes [Link]
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([Link]);
âù¢ø function ðòù¢ð´î¢îð¢ð좴 Üîù¢Íôñ¢ Panel-ø¢è¢° Background Color Set
ªêò¢òð¢ð좮¼è¢è¤ù¢øù. ð¤ù¢ùó¢
Button b = new Button (AboutButtonName);
.....
add(b);
âù¢Á About Button à¼õ £è¢èð¢ð좴 Üî¬ù Click ªêò¢î£ô¢ about( ) âù¢Âñ¢
function Þòé¢ è «õí¢ ´ ñ¢ âù¢ Á ActionListener- ô¢ ªê£ô¢ ô ð¢ ð ì¢ ´ ÷¢ ÷ ¶.
Þ¬îð¢«ð£ô«õ Clear Button Âñ¢ à¼õ£è¢èð¢ð좴 Üî¬ù Click ªêò¢î£ô¢
ClearDrawCanvas âù¢ ø function Þòé¢ è «õí¢ ´ ñ¢ âù¢ Á ActionListener-ô¢
RangaRakes [Link]
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-è÷¤ù¢ îø¢«ð£¬îò 郎ôò¤¬ù𢠪ðø¢Áè¢ ªè£÷¢÷
º®è¤ù¢ø¶.
Þù¤ [Link] âù¢Áñ¢ file-ô¢ âù¢ù â¿îð¢ð좮¼è¢è¤ù¢ø¶
âù¢ðî¬ùè¢è£íô£ñ¢. Þî¤ô¢ JavaDrawFrame âù¢Âñ¢ Class åù¢Á â¿îð¢
ð좮¼è¢è¤ù¢ø¶. Þ¶ Frame âÂñ¢ Class-ô¢ ޼ extends ªêò¢òð¢ð좮¼ð
¢ ð î£ô¢ Þï¢ î Class -ø¢ ° object -¬ù à¼õ£è¢ ° ñ¢ ªð£¿¶ ïñè¢ ° Frame
褬ìè¢ è ¤ù¢ ø ¶. ÞîÂ÷¢ ï£ñ¢ WindowCloseing âù¢  ñ¢ Event-¬ù â¿î¤
RangaRakes [Link]
92
ò¤¼è¢è¤ù¢«ø£ñ¢. ãªùù¤ô¢ ï£ñ¢ Close Button -ù¤¬ù Click ªêò¢»ñ¢ ªð£¿¶
Application Ýù¶ Close Ýè «õí¢´ñ¢ Üô¢ôõ£? Üîø¢è¢è£èî¢î£ù¢.
Þ¼î¤ò£è ï£ñ¢ [Link] âù¢Âñ¢ 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( );
[Link]( );
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. [Link]( ) ªêò¢õîø¢° ºù¢
init( ) function -ù¤¬ù Þò袰è¤ù¢«ø£ñ¢.
init function ô¢ Applet -¬ù resize ªêò¢¶ õ¤ì¢´ BorderLayout-®ô¢ õ¼ñ¢ð®
ܬñè¢è¤ù¢«ø£ñ¢. ܴ WidgetPanel( ) Class -ù¢ Object åù¢¬ø à¼õ£è¢è¤
Üî¬ù North ðè¢èî¢î¤ô¢ add ªêò¢è¤ù¢«ø£ñ¢.
Mouse -¬ù Click ªêò¢ ¶ Drag ªêò¢ » ñ¢ ªð£¿¶ õ¬óò«õí¢ ´ ñ¢ .
ݬèò£ô¢
RangaRakes [Link]
93
addMouseListener(getMouseListener ( ));
addMouseMotionListener(getMouseMotion Listener ( ));
âù¢ Á Þóí¢ ´ MouseListener-è¬÷ Þòè¢ ° è¤ù¢ « ø£ñ¢ . Þ¬õ º¬ø«ò
âð¢ªð£¿ªîô¢ô£ñ¢ Mouse -¬ù Click ªêò¢è¤ù¢«ø£«ñ£ Üð¢ªð£¿ªîô¢ô£ñ¢
MousePressed âù¢  ñ¢ Event -¬ù»ñ¢ , MouseReleased event ®¬ù»ñ¢
Ü«î«ð£ô¢ MouseDraged Event-¬ù»ñ¢ Þò袰è¤ù¢ø¶.
ï£ñ¢ âð¢ªð£¿ªîô¢ô£ñ¢ mouse -¬ù Click ªêò¢è¤ù¢«ø£«ñ£ Üð¢ªð£¿¶
mousePressed Event Þò颰è¤ù¢ø¶. Üî¤ô¢ ï£ñ¢ âï¢î Þìî¢î¤ô¢ Click ªêò¢è¤ù¢
«ø£ñ¢ âù¢ø ñî¤ð¢ð¤¬ù [Link]( ) ñø¢Áñ¢ [Link]( ) Ýè¤ò function-è÷¤ù¢ õ£ò¤ô£è
oldX, oldY Ýè¤ò variable-è÷¤ô¢ ðî¤ï¢¶ ¬õè¢è¤ù¢«ø£ñ¢. ܴ ï£ñ¢ mouse -
ä Drag ªêò¢»ñ¢ ªð£¿¶ mouseDragged Event Þò颰è¤ù¢ø¶ Üî¤ô¢ îø¢ªð£¿¶
mouse Ýù¶ â颰 Þ¼è¢è¤ù¢ø¶ âù¢ðî¬ù [Link]( ) ñø¢Áñ¢ [Link]( ) Ýè¤ò
function-è÷¤ù¢ Íôñ¢ ªðø¢Á
[Link] ([Link]( ), [Link]( ) );
âù¢Á ï£ñ¢ â¿î¤ò¤¼è¢è¤ù¢ø function -ù¤¬ù Þò袰è¤ù¢«ø£ñ¢. Þï¢î draw
function-ô¢ î£ù¢ ï£ñ¢ ܬù à¼õé¢è¬÷»ñ¢ õ¬óõîø¢è¢°ø¤ò
¹«ó£è¤ó£ñ¤¬ù â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. Draw Function ô¢ ºîô¤ô¢
Graphics g=getGraphics( );
âù¢Á ªè£´î¢¶ Graphics Class -ø¢° å¼ Object -®¬ù à¼õ£è¢è¤è¢
ªè£÷¢Àè¤ù¢«ø£ñ¢. Þï¢î Graphics Class -ô¢ î£ù¢ Line, Rectangle, Oval âù¢Á
ܬù õ¤îñ£ù ðìé¢è¬÷»ñ¢ õ¬óõîø¢°ø¤ò function -è÷¢ Þ¼è¢è¤ù¢øù.
Ü´î¢ ¶ boolean fill= [Link]( ), threeD= [Link]( ); Ýè¤ò
Fucntion -è÷¤¬ù Þòè¢è¤, WidgetPanel-ô¢ à÷¢÷ Þóí¢´ CheckBox-è÷¢ Tick
ªêò¢òð¢ð좴÷¢÷ùõ£, Þô¢¬ôò£ âù¢ðî¬ù Üø¤è¤ù¢«ø£ñ¢. FillCheckBox
Tick ªêò¢òð¢ð좮¼ï¢î£ô¢ õ¬óè¤ù¢ø ðìé¢è÷¤ô¢ Color Ýù¶ ï¤óð¢ðð¢ð좴
õ¼ñ£Á ¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢. ܬî𢠫ð£ô«õ threeDCheckBox
click ªêò¢òð¢ð좮¼ï¢î£ô¢ õ¬óòð¢ð´ñ¢ ðìé¢è÷¤ô¢ 3D Effect -è÷¢ õ¼ñ¢ð®
¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢.
switch([Link]()) âù¢ Á switch Statement ªè£´è¢ è ð¢ ð ì¢ ® ¼ð¢
ð¬îè¢ èõù¤»é¢è÷¢. ï£ñ¢ âï¢î Item î¢î¤¬ù, Shape âÂñ¢ Choice -ô¢ Select
ªêò¢î¤¼è¢è¤ù¢«ø£«ñ£ Üîø¢è¢°ø¤ò number-¬ù getShape function î¼è¤ù¢ø¶.
Üî¬ù ï£ñ¢ åõ¢ ª õ£Á case Ýè êó¤ð£ó¢ î ¢ ¶ Line âù¢ Á Þ¼ð¢ ð ¤ù¢ Line
õ¬óõîø¢ ° ø¤ò function -ù¤¬ù»ñ¢ Rect âù¢ Á ªè£´î¢ î £ô¢ Rectangle
RangaRakes [Link]
94
õ¬óõîø¢ è ¢ ° ø¤ò ¹«ó£è¤ó£ñ¤¬ù»ñ¢ âù¢ Á õó¤¬êò£è ܬùî¢ ¶ Option
è÷¤ø¢°ñ¢ ¹«ó£è¤ó£ñ¢ â¿î¤ò¤¼è¢è¤ù¢«ø£ñ¢ Þ颰 ðòù¢ð´î¢îð¢ð´ñ¢ function
è÷¤ô¢ oldX, oldY âù¢ð¶ ï£ñ¢ mouse -¬ù ºîô¤ô¢ â颰 Click ªêò¢«î£«ñ£
Üï¢ î ñî¤ð¢ ¹ ݰñ¢ . ñ£ø£è x, y âù¢ ð ¶ ï£ñ¢ îø¢ ª 𣿶 âï¢ î Þìî¢ î ¤ô¢
Þ¼è¢è¤ù¢«ø£«ñ£ Üï¢î ñî¤ð¢¹ ݰñ¢ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
Þ¼î¤ò£è Mouse -¬ù Release ªêò¢»ñ¢ ªð£¿¶ Mouse Released function
Þò颰è¤ù¢ø¶. Þî¤ô¢ Update(getGraphics( )) âù¢ø function-¬ù ðòù¢ð´î¢î¤
ò¤¼è¢ è ¤ù¢ « ø£ñ¢ . Þ¶ repaint( ) function-¬ù «ð£ô«õ paint function-¬ù
Þò袰è¤ù¢ø¶.
RangaRakes [Link]
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 [Link].*;
import [Link].*;
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);
RangaRakes [Link]
96
getContentPane().add(lbl_name);
getContentPane().add(txt_name);
getContentPane().add(lbl_age);
getContentPane().add(txt_age);
}
}
Swing è¤ô¢ à÷¢÷ component -è¬÷ð¢ ðòù¢ð´î¢î «õí¢´ñ£ù£ô¢
import [Link].*;
âù¢Á ªè£´î¢¶ 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 ø¤ù¤«ô£ Þòè¢è¤ð¢ ð£¼é¢è÷¢.
RangaRakes [Link]
97
ðì‹ 5.1
Listing 5.2
import [Link].*;
import [Link].*;
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);
[Link]().setLayout(xyz);
[Link]().add(lbl_name);
[Link]().add(txt_name);
[Link]().add(lbl_age);
[Link]().add(txt_age);
RangaRakes [Link]
98
[Link](200,100);
[Link]();
}
}
Þï¢î ¹ó£è¤ó£ñ¢ å¼ 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-è¬÷ ªð£¼î¢¶õîø¢èè
¢ £è
[Link]( ).SetLayout(xyz);
[Link]( ).Add(lbl_name);
âù¢ø õ¬èò¤ô¢ Object -è÷¢ add ªêò¢òð¢ð´è¤ù¢øù. ÞÁî¤ò£è Frame Ýù¶
Show ªêò¢òð¢ð´è¤ù¢ø¶. Þï¢î𢠹«ó£è¤ó£ñ¤¬ù õöè¢èñ¢ «ð£ô¢ Compile ªêò¢¶
îava swg2 âù¢Á ªè£´î¢¶ Þòè¢è¤ð¢ ð£¼é¢è÷¢.
ðì‹ 5.2
RangaRakes [Link]
99
Listing 5.3
import [Link].*;
import [Link].*;
public class swg3
{
public static void main(String arg[])
{
JFrame abc=new JFrame(“Hello”);
Icon i_one=new ImageIcon(“[Link]”);
Icon i_two=new ImageIcon(“[Link]”);
Icon i_three=new ImageIcon(“[Link]”);
Icon i_four=new ImageIcon(“[Link]”);
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);
[Link](male);
[Link](female);
RangaRakes [Link]
100
JCheckBox chk_one=new JCheckBox(“Tamil/English”);
JCheckBox chk_two=new JCheckBox(“Computer/
Manual”);
GridLayout xyz=new GridLayout(4,2);
[Link]().setLayout(xyz);
[Link]().add(but_one);
[Link]().add(but_two);
[Link]().add(com_one);
[Link]().add(com_two);
[Link]().add(male);
[Link]().add(female);
[Link]().add(chk_one);
[Link]().add(chk_two);
[Link](400,200);
[Link]();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ 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 -
è¬÷ ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
RangaRakes [Link]
101
ðì‹ 5.3
Listing 5.4
import [Link].*;
import [Link].*;
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”);
[Link](new JMenuItem(“New”));
[Link](new JMenuItem(“Open”));
[Link](new JMenuItem(“Close”));
[Link](new JMenuItem(“Cut”));
RangaRakes [Link]
102
[Link](new JMenuItem(“Copy”));
[Link](new JMenuItem(“Paste”));
[Link](file);
[Link](edit);
[Link](mymen);
JToolBar krish=new JToolBar();
Icon ione = new ImageIcon (“[Link]”);
Icon itwo = new ImageIcon (“[Link]”);
Icon ithree = new ImageIcon (“[Link]”);
Icon ifour = new ImageIcon (“[Link]”);
JButton one=new JButton(“One”,ione);
JButton two=new JButton(“Two”,itwo);
JButton three=new JButton(“Three”,ithree);
JButton four=new JButton(“Four”,ifour);
[Link](one);
[Link](two);
[Link](three);
[Link](four);
[Link]().add(krish);
[Link](“Demo Program For Tool Bar”);
[Link](300,300);
[Link]();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ ï£ñ¢ Swing -º¬øò¤¬òð¢ ðòù¢ð´î¢î¤ Menu ñø¢Áñ¢
Toolbar Ýè¤òõø¢¬ø à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þ¬õ å¼ Frame-ô¢ î£ù¢
õ¼ñ¢ âù¢ðî£ô¢ ºîô¤ô¢ abc âù¢Âñ¢ Frame -¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢.
RangaRakes [Link]
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 [Link].*;
import [Link].*;
public class tabbed extends JFrame
{
Container d = getContentPane();
tabbed()
RangaRakes [Link]
104
{
Icon one = new ImageIcon (“[Link]”);
Icon two = new ImageIcon (“[Link]”);
Icon three = new ImageIcon (“[Link]”);
JTabbedPane country = new JTabbedPane();
[Link](“India”,one,new india());
[Link](“Pakistan”,two,new pakistan());
[Link](“China”,three,new china());
[Link](country);
}
public static void main(String argv[])
{
tabbed xyz = new tabbed();
[Link](“Tabbed Demo”);
[Link](400,400);
[Link]();
}
}
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([Link],10,10));
add(lbl_pre);
add(lbl_pri);
add(lbl_chi);
RangaRakes [Link]
105
}
}
class pakistan extends JPanel
{
JLabel lbl_pre = new JLabel (“President : General. Parvees
Musharaf”);
pakistan()
{
setLayout(new FlowLayout([Link],10,10));
add(lbl_pre);
}
}
class china extends JPanel
{
JLabel lbl_pre = new JLabel (“President : Giang Gemin”);
china()
{
setLayout(new FlowLayout
([Link],10,10));
add(lbl_pre);
}
}
Þï¢ î 𢠹«ó£è¤ó£ñ¤ô¢ Tabbed Pane âù¢ ø ¬öè¢ è ð¢ ð ´ñ¢ Component-è÷¢
õ¤÷è¢èð¢ð좴÷¢÷ù. Þî¬ù ªè£í¢´ ðô ðè¢èé¢è¬÷è¢ ªè£í¢ì ܬñð¢ð¤¬ù
à¼õ£è¢è Þò½ñ¢.
public class tabbed extends JFrame
âù¢Á ªè£´î¢¶ JFrame class àìù¢ inheritance ªêò¢òð¢ð좮¼ð¢ðî£ô¢ main ( ) function -ô¢ xyz
âù¢ø Object à¼õ£°ñ¢ ªð£¿«î Frame -ñ¢ à¼õ£è¤õ¤´è¤ùø ¢ ¶ ñø¢Áñ¢ Constructor
function -ñ¢ î£ù£è Þò颰è¤ùø
¢ ¶. Þï¢î Constructor function -ô¢ ï£ñ¢ one, two, three âù¢Á
Íù¢Á Icon Object -è¬÷ [Link], [Link], [Link] âù¢ø file -è¬÷è¢ ªè£í¢´
RangaRakes [Link]
106
à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. ð¤ù¢ùó¢
JTabbedPane country= new JTabbedPane( );
âù¢Á ªè£´î¢¶ country âù¢Âñ¢ Object-®¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù«
¢ ø£ñ¢. Þï¢î Object-
®ô¢ ï£ñ¢ ðô¢«õÁ tab ðè¢èé¢è¬÷ Þ¬íè¢è º®»ñ¢. Üï¢î ðè¢èé¢è÷¢ å¼ Panel Ýè
Þ¼è¢è «õí¢´ñ¢. âù«õ ï£ñ¢
class india extends JPanel ...........
class pakistan extends JPanel ...........
class china extends JPanel ...........
Ýè¤ò Class è¬÷ à¼õ£è¢è¤ Üõø¢ø¤ù¢ Object -è¬÷
[Link](‘India’, one, new india( ));
[Link](‘Pakistan’, two, new pakistan( ));
[Link](‘China’, three, new china( ));
âù¢Á ªè£´î¢¶ à¼õ£è¢è¤ò¤¼è¢è¤ù«
¢ ø£ñ¢. ¹«ó£è¤ó£ñ¤ù¢ Ýóñ¢ðî¢î¤ô¢
container d= getContentPane( )
âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î Container Object -è÷¢ getContentPane( )
âÂñ¢ Layout ®ô¢ ðî¤ï¶
¢ ¬õî¢¶è¢ ªè£÷¢Àñ¢ î¤øù¢ ð¬ìî¢î¬õ. ï£ñ¢ [Link](country)
âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ àí¢¬ñò¤ô¢ ïñ袰 getContentPane( ) -ô¢ î£ù¢ ïñ¢º¬ìò
Object -è÷¢ Align Ýè¤ù¢ø¶ âù¢ðî¬ù 郎ùõ¤ô¢ ªè£÷¢Àé¢è÷¢.
ðì‹ 5.5
RangaRakes [Link]
107
Listing 5.6
import [Link].*;
import [Link].*;
import [Link].*;
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”);
RangaRakes [Link]
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”);
[Link](india);
[Link](pakistan);
[Link](america);
[Link](china);
[Link](tamil);
[Link](andra);
[Link](karnataka);
[Link](bihar);
[Link](lahore);
[Link](karachi);
[Link](bihar);
[Link](chennai);
[Link](madurai);
[Link](trichy);
RangaRakes [Link]
109
JTree countrymaram = new JTree(country);
[Link](countrymaram);
}
public static void main(String argv[])
{
maram abc = new maram();
[Link](“Tree View Example”);
[Link](400,400);
[Link]();
}
}
Þï¢î ¹«ó£è¤ó£ñ¤ô¢ Treeview âù¢ø¬öè¢èð¢ð´ñ¢ Component-è÷¢ õ¤÷è¢èð¢
ðì¢ ´ ÷¢ ÷ ù. Treeview âù¢ ð ¶ å¼ Item î¢ î ¤ø¢ ° ÷¢ ñø¢ ª ø£Á Item âù¢ Á
åù¢øù¢ð¤ù¢ åù¢ø£è à÷¢«÷ ªêô¢½ñ¢ð® ޼袰ñ¢ ܬñ𢹠ݰñ¢.
ðì‹ 5.6
RangaRakes [Link]
110
Treeview -¬ùð¢ ðòù¢ð´î¢î «õí¢´ñ¢ âù¤ô¢ [Link].* âù¢Âñ¢
Package-¬ ù import ª ê ò ¢ ò « õ í ¢ ´ ñ ¢ . ã ª ù ù ¤ ô ¢ JTree ñ ø ¢ Á ñ ¢
DefaultMutableTreeNode ºîô£ù class -è÷¢ Þï¢î Package-ô¢î£ù¢ Þ¼è¢è¤ù¢øù.
ïñ袰 JTreeView Component-®ù¢ à÷¢ âù¢ªùù¢ù Item-è÷¢ õó «õí¢´«ñ£
Üõø¢ ¬ ø à¼õ£è¢ ° õîø¢ è ¢ ° DefaultmutableTreeNode èì¢ ì ¬÷ð¢ ð òù¢
ð´è¤ù¢ø¶. Þî¬ùð¢ ðòù¢ð´î¢î¤ «î¬õò£ù Item è¬÷ à¼õ£è¢è¤òð¤ù¢
âîï¢î Item è÷¢ âîªùîù¢ à÷¢ õó«õí¢´ñ¢ âù¢ðî¬ùè¢ è¦«ö ªè£´è¢èð¢
ð좴÷¢÷¶ «ð£ô¢ ªè£´î¢¶ add ªêò¢¶ ªè£÷¢Àé¢è÷¢.
[Link](india);
[Link](pakistan);
[Link](america);
[Link](china);
[Link](tamilnadu); .....
Þ¼î¤ò£è JTree countrymaran = new JTree(country); âù¢Á ªè£´î¢î¤¼ð¢ðîù¢
Íôñ¢ âï¢î Item Treeview õ¤ù¤ô¢ ºîô¤ô¢ õó«õí¢´ñ¢ âù¢Á Ãø¤ò¤¼è¢
è¤ù¢«ø£ñ¢. Üîù¢ð® country Ýù¶ countrymaran âÂñ¢ Object-®ô¢ Top Level
Object Ýè õ¤÷颰è¤ù¢ø¶.
Listing 5.7
import [Link].*;
import [Link].*;
import [Link];
import [Link];
import [Link];
public class Table
{
public Table()
{
JFrame frame = new JFrame(“Table”);
[Link](new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
RangaRakes [Link]
111
[Link](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
RangaRakes [Link]
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 [Link]; }
public int getRowCount() { return [Link];}
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;
}
RangaRakes [Link]
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);
[Link](new Dimension(700, 300));
[Link]().add(scrollpane);
[Link]();
[Link](true);
}
public static void main(String[] args)
{
new Table();
}
}
Þï¢ î ¹«ó£è¤ó£ñ¤ô¢ table âù¢ ø ¬öè¢ è ð¢ ð ´ñ¢ Component õ¤÷è¢ è ð¢
ðì¢ ´ ÷¢ ÷ ¶. table -è÷¤ô¢ ïñ¢ ñ £ô¢ Record-è¬÷ display ªêò¢ ¶ ªè£÷¢ ÷
º®»ñ£îô£ô¢ Þîù¢ ðòù¢ð£´ Þù¢ø¤ò¬ñò£îî£è¤ø¶.Table Component-®¬ù
ï£ñ¢ ðòù¢ð´î¢î «õí¢´ñ£ù£ô¢ ºîô¤ô¢ [Link].* âù¢ø 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
RangaRakes [Link]
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.
RangaRakes [Link]
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
[Link].
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
[Link].
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
RangaRakes [Link]
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.
RangaRakes [Link]
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
RangaRakes [Link]
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.
RangaRakes [Link]
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
[Link].
JWindowBeanInfo Provides information about JWindow
for bean-based tools.
RangaRakes [Link]
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 ªðòó¤¬ù»ñ¢ ªè£´î¢¶è¢ ªè£÷¢Àé¢è÷¢. Þ颰 ï£ñ¢
[Link] âù¢Âñ¢ Access file ø¢° Arshad âù¢Âñ¢ ªðòó¤¬ù ªè£´î¢¶ å¼
RangaRakes [Link]
121
DSN-ù¤¬ù à¼õ£è¢è¤ò¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î Student âù¢Âñ¢ mdb
file-ô¢ 覫ö ªè£´è¢èð¢ð좴÷¢÷¶ «ð£ô¢ sno, sname, tamil, english, maths âù¢Á
field è¬÷»¬ìò table åù¢¬ø à¼õ£è¢è¤ ªè£÷¢Àé¢è÷¢.
ðì‹ 6.1
ðì‹ 6.2
RangaRakes [Link]
122
ðì‹ 6.3
ðì‹ 6.4
RangaRakes [Link]
123
ðì‹ 6.5
ðì‹ 6.6
RangaRakes [Link]
124
Listing 6.1
import [Link].*;
class jdbcdemo
{
public static void main(String ag[])
{
int sno;
String sname;
int tam,eng,maths,tot;
String url=”jdbc:odbc:arshad”;
try
{
[Link](“[Link]”);
// initialise
Connection cn=[Link](url,””,””);
// establishing a connection
String sql=”select sno,sname,tamil,english,maths from
student”;
// forming a query
[Link]([Link](sql));
Statement s1=[Link]();
// creating a statement object, whill will maintain transactions
ResultSet rs=[Link](sql);
// executing a query and holds the data
while([Link]()) // skips next record
{
sno=[Link](1); // retriving the fields...
sname=[Link](2);
tam=[Link](3);
eng=[Link](4);
maths=[Link](5);
tot=tam+eng+maths;
[Link](sno+” “+sname+” “+tam+”
RangaRakes [Link]
125
“+eng+” “+maths+” “+tot);
}
[Link]();
}catch(Exception e)
{
[Link](“incorrect query”);
}
}
}
Þï¢î ¹«ó£è¤ó£ñ¢ Student âù¢Âñ¢ Access table-ô¢ à÷¢÷ ܬù Record
´è¬÷»ñ¢ display ªêò¢ » ñ£Á â¿îð¢ ð ì¢ ® ¼è¢ è ¤ù¢ ø ¶. ï£ñ¢ JDBC ò¤¬ù
ðòù¢ð´î¢î «õí¢´ñ¢ âù¢ø£ô¢ ºîô¤ô¢
import [Link].*;
âù¢Âñ¢ Package-¬ù import ªêò¢¶ ªè£÷¢÷ «õí¢´ñ¢. main ( ) function -ô¢
sno, sname, tam, eng, mat, tot Ýè¤ò variable-è÷¢ à¼õ£è¢èð¢ð좮¼è¢è¤ù¢øù.
Þõø¢ø¤ô¢ î£ù¢ database Record-è÷¤ô¢ Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷ â´î¢¶ «ð£ì
Þ¼è¢è¤ù¢«ø£ñ¢.
ºîô¤ô¢ Þï¢î ¹«ó£è¤ó£ñ¢ º¿õ¶ñ¢ try { } catch âù¢Âñ¢ exception-
è¬÷ èí¢ ´ ð¤®è¢ ° ñ¢ Loop Â÷¢ â¿îð¢ ð ì¢ ® ¼ð¢ ð ¬îè¢ èõù¤»é¢ è ÷¢ .
ªð£¶õ£è try { } Catch -ù¢ à÷¢ ¹«ó£è¤ó£ñ¢ â¿¶ñ¢ª 𣿶 ¹«ó£è¤ó£ñ¤ù¢
Þòè¢ è î¢ î ¤ô¢ ãî£õ¶ error-è÷¢ Þ¼è¢ ° ñ¢ ðì¢ ê î¢ î ¤ô¢ exception âù¢ ù
âù¢ ð î¬ùè¢ ªè£í¢ ´ îõÁè¬÷ î¤¼î¢ î ¤è¢ ªè£÷¢ ÷ Þò½ñ¢ . Þï¢ î
¹«ó£è¤ó£ñ¤¬ù ªð£¼î¢ î õ¬óò¤ô¢ ܶ Þòé¢ ° ñ¢ ª 𣿶 âù¢ ù îõÁ
ïìï¢î£½ñ¢ Incorrect query âù¢Á õ¼ñ¢ð® â¿îð¢ð좮¼è¢è¤ù¢ø¶.
[Link](‘[Link] Driver’);
âù¢Á ï£ñ¢ ºîô¤ô¢ ܬù JDBC ¹«ó£è¤ó£ñ¤é¢°è÷¤½ñ¢ ªè£´è¢è
«õí¢´ñ¢. ܴ âï¢î Database àìù¢ Þ¬íè¢è «õí¢´ñ¢ âù¢Á ªê£ô¢õ
îø¢è¢è£è Connection âÂñ¢ class-ù¢ Object åù¢¬ø DSN ªðòó¤ù¢ ¶¬íè¢
ªè£í¢´ à¼õ£è¢è «õí¢´ñ¢. âù«õ î£ù¢
Connection n=[Link](url,‘’,’’);
âù¢Á à¼õ£è¢èð¢ð좴÷¢÷¶. ܴ ï£ñ¢ record -è¬÷ Table -ô¢ ޼
â´ð¢ðîø¢è¢è£è å¼ SQL query-ò¤¬ù â¿î «õí¢´ñ.¢Üî¬ù ï£ñ¢ å¼
RangaRakes [Link]
126
variable-ô¢ ðî¤ï¢¶ ¬õî¢¶è¢ ªè£÷¢÷ô£ñ¢. âù«õ î£ù¢
String sql=”select sno, sname, tamil, english, maths from Student”;
âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Þï¢î query ò¤¬ù Þò袰õîø¢è¢è£è ºîô¤ô¢
ï£ñ¢ Statement âù¢Âñ¢ Class -ù¢ Object-ä à¼õ£è¢è «õí¢´ñ¢. âù«õ î£ù¢
Statement sl = [Link]( );
âù¢Á à¼õ£è¢è¤ò¤Áè¢è¤ù¢«ø£ñ¢. Þîù¢ ªð£¼÷¢ cn âù¢Âñ¢ Connection Class
Object -®ô¢ ï£ñ¢ ªè£´è¢ è 𢠫 ð£°ñ¢ èì¢ ì ¬÷, Þòé¢ ° ñ¢ «õí¢ ´ ñ¢ âù¢ ø
ªð£¼÷¢ ݰñ¢. ܴ
ResultSet rs = [Link](Sql);
âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î executeQuery èì¢ì¬÷î£ù¢
ïñ¢º¬ìò query ò¤¬ù Þòè¢è¤ database-ô¢ à÷¢÷ record-è¬÷ â´î¢¶ Resultset
âù¢Âñ¢ class -ù¢ Object Ýù¶ rs -ô¢ «ð£´è¤ù¢ø¶. Þð¢ªð£¿¶ rs âù¢Âñ¢
Object-®ô¢ Student table-ô¢ à÷¢÷ ܬù record-èÀñ¢ Þ¼è¢è¤ù¢øù. Record
Pointer Ýù¶ ºîô¢ Record -®ô¢ Þ¼è¢è¤ù¢ø¶. åõ¢ªõ£¼ record Ýè end of
file õ¼ñ÷¾ñ¢ display ªêò¢õîø¢°
while([Link]( ))
âù¢Âñ¢ Loop Þòè¢èð¢ð좮¼è¢è¤ù¢ø¶. Þîù¢ à÷¢ åõ¢ªõ£¼ record Ýè
Move ݰñ¢ ªð£¿¶ Üï¢îï¢î record -è÷¤ô¢ à÷¢÷ field -è÷¤ô¢ integer data type
à÷¢÷õø¢ø¤ô¢ Þ¼è¢è¤ù¢ø ñî¤ð¢¹è¬÷𢠪ð¼õîø¢° getInt( ) âÂñ¢ function
Âñ¢ String data type-ô¢ à÷¢÷ ñî¤ð¢¹è¬÷ ªð¼õîø¢° getString( ) âù¢ùñ¢
function -Âñ¢ ðòù¢ð´î¢îð¢ ð좮¼è¢è¤ù¢ø¶. Þõø¢ø¤ô¢ ªè£´è¢èð¢ð좴÷¢÷
1,2,3, âù¢  ñ¢ âí¢ è ÷¢ table -è÷¤ô¢ à÷¢ ÷ field è÷¤ù¢ õó¤¬êò¤¬ùè¢
°ø¤è¢è¤ù¢øù.
RangaRakes [Link]
127
ðì‹ 6.7
Listing 6.2
import [Link].*;
class jdbcstore
{
public static void main(String argv[])
{
String url=”jdbc:odbc:arshad”;
try
{
[Link](“[Link]”);
Connection connection=
[Link](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"
RangaRakes [Link]
128
[Link](“native form: “ +
[Link](sql));
Statement statement=
[Link]();
[Link](sql);
}catch (Exception ex)
{
[Link](“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
ªêò¢òð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢.
RangaRakes [Link]
129
ðì‹ 6.8
¹«ó£è¤ó£ñ¢ Þòé¢è¤ º®î¢î ð¤ù¢ table-ô¢ î°ï¢î ñ£ø¢øé¢è÷¢ ï¬ìð¢
ªðø¢ø¤¼è¢è¤ù¢øùõ£ âù¢ðî¬ùê¢ «ê£î¤î¢¶ð¢ ð£ó¢î¢¶è¢ ªè£÷¢Àé¢è÷¢.
RangaRakes [Link]
130
Üî¢î¤ò£òñ¢ 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 [Link].*;
import [Link];
import [Link].*;
public class clock extends Applet implements Runnable
{
Thread runner;
public void init()
{
}
public void start()
{
if (runner==null)
{
RangaRakes [Link]
131
runner=new Thread(this);
[Link]();
}
}
public void stop()
{
if (runner!=null)
{
runner=null;
}
}
public void run()
{
Thread thisthread=[Link]();
while (runner==thisthread)
{
repaint();
try
{
[Link](1000);
}
catch(InterruptedException e) { }
}
}
public void paint(Graphics screen)
{
Date hello=new Date();
[Link](new Font(“Serif”,
[Link]+[Link],24));
[Link]([Link](),50,50);
}
RangaRakes [Link]
132
}
Þ¶ å¼ applet ¹«ó£è¤ó£ñ£è â¿îð¢ð좴÷¢÷¶. Þï¢î applet Þò颰ñ¢
ªð£¿¶ ïñ袰 å¼ Clock å®è¢ªè£í¢®¼ð¢ð¶ ªîó¤»ñ¢. Thread âù¢Âñ¢
Class Ýù¶ [Link].* âù¢Âñ¢ 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
RangaRakes [Link]
133
¹«ó£è¤ó£ñ¢ Ýóñ¢ðî¢î¤ô¢ Thread runner âù¢Á ªè£´î¢¶ å¼ Thread object
define ªêò¢òð¢ð좮¼è¢è¤ù¢ø¶. start event-®ô¢
runner=new Thread(this);
[Link]( );
âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ Thread à¼õ£è¢èð¢ð좴, ܶ Þòé¢è¾ñ¢
Ýóñ¢ ð ¤è¢ è ¤ù¢ ø ¶. runner âù¢  ñ¢ Object Ýù¶ å¼ è®è£óñ¢ «ð£ô¢
Þò颰è¤ù¢ø¶.
Ü´î¢ ¶ ¹«ó£è¤ó£ñ¤ù¢ èì¢ ´ ð¢ ð £´ º¿õ¶ñ¢ run event -®Â÷¢ õï¢ ¶
õ¤´è¤ù¢ø¶. ÞîÂ÷¢ å¼ loop ܬñè¢èð¢ð좮¼è¢è¤ù¢ø¶. ºîô¤ô¢
Thread thisthread=[Link]( );
âù¢Á ªè£´î¢î¤¼ð¢ðîù¢ Íôñ¢ thisthread âù¢Á ¹î¤ò Thread object -®¬ù
à¼õ£è¢è¤ ÜîÂ÷¢ îø¢ªð£¿¶ Þòé¢è¤é¢è¤è¢ ªè£í¢®¼è¢°ñ¢ current Thread
Ýù runner-ô¢ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø«î£ Üî¬ù ðî¤ï¢¶ ¬õè¢è¤ù¢«ø£ñ¢.
ð¤ù¢ùó¢
while (runner==thisthread)
âù¢ø condition ªè£´î¢¶ loop åù¢ø¤Â÷¢ ªêô¢½è¤ù¢«ø£ñ¢. Üî£õ¶ runner
ñø¢Áñ¢ thisthread Ýè¤ò Þóí¢´ Object-è÷¤½ñ¢ å«ó ñî¤ð¢¹ ޼袰ñ¢ ðì¢êî¢î¤ô¢
loop-ù¢ à÷¢ ªêô¢ô «õí¢´ñ¢ âù¢ø ªð£¼÷£°ñ¢. loop -ù¢ à÷¢ Þóí¢´
èì¢ì¬÷è÷¢ ªè£´è¢èð¢ð좴÷¢÷ù. Üî¤ô¢
[Link](1000);
âù¢Á ªè£´è¢èð¢ðì¢ì®¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 1000 âù¢ð¶ MilliSecond-
®¬ùè¢ °ø¤è¢è¤ù¢ø¶. Üî£õ¶ sleep function Ýù¶ Þ颰 Micro Processor-
¬ù 1000 MilliSecond -è÷¢ Üî£õ¶ å¼ Second Ü÷õ¤ø¢° âï¢î «õ¬ô¬ò»ñ¢
ªêò¢ò£ñô¢ 祿î¢î¤ ¬õè¢è¤ù¢ø¶. Üî£õ¶ ¶£é¢è ¬õè¢è¤ù¢ø¶.
repaint() function call ªêò¢òð¢ð좮¼ð¢ðî£ô¢ paint ( ) function Þò颰è¤ù¢ø¶.
ÜîÂ÷¢ ï£ñ¢
Date hello=new Date( );
[Link](new Font(‘Serif’, [Link] +[Link], 24));
[Link]([Link]( ), 50, 50);
âù¢Á ªè£´î¢î¤¼è¢è¤ù¢«ø£ñ¢. Üî£õ¶ åõ¢ªõ£ù¢Á º¬ø paint ( ) function
Þò颰ñ¢ ªð£¿¶ñ¢ Date class -ø¢è¢° object à¼õ£è¢èð¢ð´õî£ô¢ îø¢ªð£¿¶
RangaRakes [Link]
134
èí¤ð¢ªð£ø¤ò¤ô¢ à÷¢÷ Clock-ô¢ âï¢î «ïóñ¢ Þ¼è¢è¤ù¢ø«î£ Üîù¢ ñî¤ð¢¹ hello
object-®ù¢ à÷¢ ðî¤ï¢¶ õ¤´è¤ù¢ø¶. Üî¬ù ï£ñ¢ [Link]( ) function
õö¤ò£è Screen-ô¢ display ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
ªñ£î¢îî¢î¤ô¢ ¹«ó£è¤ó£ñ£ù¶ åõ¢ªõ£Á second èö¤î¢¶ paint( ) function-
ä Þò袰ñ¢ ªð£¿¶ ïñ袰 øò¤ô¢ Clock å®è¢ªè£í¢®¼ð¢ð¶ ªîó¤è¤ù¢ø¶.
ÞÁî¤ò¤ô¢ ï¦é¢è÷¢ âð¢ªð£¿¶ applet -®¬ù class ªêò¢è¤ù¢ø¦ó¢è«÷£ Üð¢ªð£¿¶
stop event î£ù£è Þò袰è¤ù¢ø¶. ÜîÂ÷¢ runner=new âù¢Á ªè£´î¢î¤¼ð¢ðîù¢
Íôñ¢ Thread-®ù¢ Þòè¢èñ¢ ï¤ù¢Á õ¤´è¤ù¢ø¶.
Listing7.2
import [Link].*;
import [Link];
import [Link].*;
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);
}
}
RangaRakes [Link]
135
public void start()
{
if (runner==null)
{
runner=new Thread(this);
[Link]();
}
}
public void stop()
{
if (runner!=null)
{
runner=null;
}
}
public void run()
{
Thread thisthread=[Link]();
while (runner==thisthread)
{
repaint();
try
{
[Link](200);
}
catch(InterruptedException e) { }
}
}
public void paint(Graphics screen)
{
if (cnt==10)
{
RangaRakes [Link]
136
cnt=0;
}
[Link](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-è¬÷ «õí¢ ´ ñ£ù½ñ¢ à¼õ£è¢ è ¤è¢
ªè£÷¢Àé¢è÷¢. Þ颰 [Link], [Link], [Link]... âù¢Á ªðòó¢ õ¼ñ£Á ð 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 -ä ªè£í¢®¼è¢è¤ù¢ø¶ «ð£ù¢øõø¢¬øè¢ °ø¤è¢è¤ù¢ø¶.
RangaRakes [Link]
137
ðì‹ 7.2 ([Link])
ðì‹ 7.3 ([Link])
ðì‹ 7.4 ([Link])
ðì‹ 7.5 ([Link])
ðì‹ 7.6 ([Link])
RangaRakes [Link]
138
ðì‹ 7.7 ([Link])
ðì‹ 7.8 ([Link])
ðì‹ 7.9 ([Link])
ðì‹ 7.10 ([Link])
ðì‹ 7.11 ([Link])
RangaRakes [Link]
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- ®ô¢
ðóõô£èð¢ ðòù¢ð´î¢îð¢ð´è¤ù¢øù.
RangaRakes [Link]
140
Üî¢î¤ò£òñ¢ 8
Files
Java õ¤ô¢ [Link] âù¢Á å¼ package Þ¼è¢è¤ù¢ø¶. Þî¤ô¢ à÷¢÷ class
è¬÷ð¢ ðòù¢ð´î¢î¤ ïñ¢ñ£ô¢ low level file operation-è¬÷ ªêò¢¶ ªè£÷¢÷ Þò½ñ¢.
Üî£õ¶ ¹î¤ò file-è¬÷ à¼õ£è¢èõ¶ ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø file è¬÷
read ªêò¢¶ ªè£÷¢õ¶ ºîô£ù «õ¬ôè¬÷ê¢ ªêò¢¶ ªè£÷¢÷ô£ñ¢.
Listing 8.1
import [Link];
class FileQuery
{
public static void main(String args[])
{
String dirname=”india”;
String filename=”[Link]”;
File myfile=new File(dirname,filename);
[Link](“File Name: “ + [Link]());
[Link](“Is it a Directory : “ +
[Link]());
[Link](“It is a real file : “ + [Link]());
[Link](“File Path: “ + [Link]());
[Link](“Absolute File Path: “ +
[Link]());
[Link](“Is File Readable: “ +
[Link]());
[Link](“Is File Writeable: “ +
[Link]());
[Link](“Modified on: “ +
[Link]());
[Link](“Size (in bytes): “ + [Link]());
[Link]();
RangaRakes [Link]
141
[Link](“—— Directory Listing ——”);
File dir=new File(dirname);
if ([Link]()==false)
{
[Link](dirname + “is not a directory”);
}
else
{
[Link](“Directory of “ + dirname);
String d[]=[Link]();
for (int i=0; i<[Link];i++)
{
[Link](d[i]);
}
}
}
}
Þï¢î𢠹«ó£è¤ó£ñ¤¬ù Þòè¢è¤ù£ô¢ ï£ñ¢ âï¢î Subdirectory-ò¤ù¢ ªðòó¤¬ùè¢
ªè£´î¢î¤¼è¢è¤ù¢«ø£«ñ£, Üî¤ô¢ à÷¢÷ ܬù file-è¬÷»ñ¢ display ªêò¢¶
ªè£´è¢°ñ¢. «ñ½ñ¢ âù¢ù file name ªè£´î¢î¤¼è¢è¤ù¢«ø£«ñ£ Üï¢î file-
ù¬ð¢ ðø¢ø¤ò º¿¬ñò£ù îèõô¢è¬÷ ªðø¢Áî¢î¼ñ¢. main ( ) function- ù¢
Ýóñ¢ðî¢î¤ô¢ ºîô¤ô¢
String dirname=“india”;
String filename=“[Link]”;
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þî¤ô¢ india âù¢ð¶ Subdirectory,
åù¢ø¤ù¢ ªðòó£°ñ¢. Þîø¢°ð¢ðî¤ô¢ ï¦é¢è÷¢ â颰 Þï¢î ¹«ó£è¤ó£ñ¤¬ù Þòè¢èð¢
«ð£è¤ù¢ ø ¦ ó ¢ è «÷£ Üî¤ô¢ à÷¢ ÷ sub directory-ò¤ù¢ ªðòó¤¬ùè¢ ªè£´î¢ ¶ è¢
ªè£÷¢Àé¢è÷¢. ܶ «ð£ô«õ [Link] âù¢ð¶ ªõ¼ñ¢ â´î¢¶è¢è£ì¢«ì. «õÁ
å¼ file ªðòó¤¬ùè¢ ªè£´î¢¶è¢ ªè£÷¢Àé¢è÷¢.
File myfile=new File(dirname, filename);
âù¢Á ªè£´è¢èð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þï¢î File âù¢Âñ¢ class-ô¢
î£ù¢ File operation êñ¢ ð ï¢ î ð¢ ð ì¢ ì ܬùî¢ ¶ function-èÀñ¢ Þ¼è¢ è ¤ù¢ ø ù.
RangaRakes [Link]
142
Þð¢ªð£¿¶ india âù¢Âñ¢ Subdirectory-ô¢ à÷¢÷ [Link] âÂñ¢ file-ù¢ ܬù
îèõô¢èÀñ¢ º¿¬ñò£è myfile âù¢Âñ¢ object -ù¢ à÷¢ õõ¤ì¢ìù.
Þ颰 [Link]( ) âù¢Á ªè£´è¢°ñ¢ ªð£¿¶ file-ù¢ ªðòó¢ 褬ìè¢è¤ùø ¢ ¶.
[Link]( ) âù¢Á ªè£´è袰ñ¢ªð£¿¶ file âï¢î Subdirectory-ò¤ô¢ Þ¼è¢è¤ùø¢ ¶
âù¢ð¶ ªîó¤»ñ¢. [Link]( ) âù¢Á ªè£´î¢î£ô¢ ï£ñ¢ ªè£´î¢î¤¼è¢°ñ¢ ªðòó¤ô¢ Þ¼ð¢ð¶
file î£ù£ Üô¢ô¶ Þô¢¬ôò£ âù¢ðî¬ùî¢ ªîó¤ï¶ ¢ è¢ ªè£÷¢÷ô£ñ¢. [Link]( )
âù¢Á ªè£´è¢°ñ¢ file-ù¢ º¿ path 褬ìè¢è¤ùø
¢ ¶. [Link]( ) âù¢Á ªè£´è¢°ñ¢
ªð£¿¶ file -¬ù ð®è¢è º®»ñ£ Üô¢ô¶ º®ò£î âù¢ð¶ ªîó¤»ñ¢. Ü«î«ð£ô¢
[Link] ( ) âù¢Á ªè£´è¢°ñ¢ªð£¿¶ file-ù¤ô¢ îèõô¢è¬÷ ¹î¤î£è â¿î º®»ñ£
Üô¢ô¶ º®ò£î£ âù¢ð¶ ªîó¤»ñ¢. [Link]( ); âù¢Á ªè£´è¢°ñ¢ªð£¿¶ file-
¬ù è¬ìê¤ò£è ï£ñ¢ âï¢î «îî¤ ñø¢Áñ¢ «ïóî¢î¤ô¢ ðòù¢ð´î¢î¤«ù£ñ¢ âù¢ø îèõô¢è÷¢
褬ìè¢è¤ùø
¢ ù.
ܴ File dir=new File(dirname); âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. ï£ñ¢
ªè£´î¢î¤¼è¢°ñ¢ ªðòó¤ô¢ å¼ Subdirectory-ò¤¼ð¢ð¤ù¢ [Link]( ) function Ýù¶ true
âù¢Á ªè£´è¢°ñ¢. Üð¢ªð£¿¶ if condition- ù¤ô¢ else ð°î¤ Þò颰ñ¢. Ü颰 String d[ ] =
[Link]( ); âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þîù¢ Íôñ¢ ï£ñ¢ ªè£´î¢î Sub
directory ò¤ù¢ ܬù file-è÷¤ù¢ ªðòó¢èÀñ¢ d âù¢Âñ¢ String array ò¤ô¢ ðî¤è¤ù¢øù.
Üõø¢¬ø loop-ù¢ Íôñ¢ ï£ñ¢ display ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
ðì‹ 8.1
RangaRakes [Link]
143
Listing 8.2
import [Link].*;
class LineByLine
{
public static void main(String args[])
throws FileNotFoundException
{
String filename=”[Link]”;
FileInputStream f=new FileInputStream(filename);
LineNumberInputStream filestream=new
LineNumberInputStream(f);
try
{
int c;
[Link](“Line 1:”);
while ((c=[Link]())!= -1)
{
[Link]((char)c);
if (c==’\n’)
{
[Link](“Line “ +
([Link]()+1) + “:”);
}
}
}catch(IOException e)
{
[Link](“Can’t open stream!”);
}
}
}
RangaRakes [Link]
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 ªêò¢õîø¢è¢° àî¾è¤ù¢ø¶. ï£ñ¢ Þ颰 [Link] âù¢Âñ¢ textfile-ô¢
à÷¢÷ îèõô¢è¬÷ read ªêò¢ò Þ¼è¢è¤ù¢«ø£ñ¢. ï¦é¢è÷¢ àé¢èÀ袰 «õí¢®ò
file-è÷¤ù¢ ª ðòó¤¬ùè¢ Þé¢ ° ªè£´î¢ ¶ è¢ ªè£÷¢ À é¢ è ÷¢ . LineNumberInput
StreamÝù¶ file-ô¢ îø¢ ª 𣿶 ï£ñ¢ âï¢ î Line-ô¢ Þ¼è¢ è ¤ù¢ « ø£ñ¢ âù¢ ø
îèõ¬ô𢠪ðø¢Áî¢îóè¢Ã®ò getLineNumber( ) function Þ¼ð¢ðîù£ô¢
ðòù¢ð´î¢¶è¤ù¢«ø£ñ¢.
while((c=[Link]())!=-1)
âù¢Á ªè£´î¢î¤¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ颰 read( ) function Ýù¶ file-ô¢
à÷¢÷ åõ¢ªõ£Á â¿î¢î£è read ªêò¢¶ ªè£´è¢è¤ù¢ø¶. å¼ â¿î¢¶ read
ªêò¢òð¢ðì¢ì¾ìù¢ file pointer Ýù¶ Ü´î¢î â¿î¢î¤ø¢° î£ù£è ªêù¢Á õ¤´ñ¢.
âð¢ªð£¿¶ end of file-ø¢è¢° õ¼è¤ù¢«ø£«ñ£ Üð¢ªð£¿¶ -1 âù¢ø ñî¤ð¢ð¤¬ùð¢
ªðÁ«õ£ñ¢. Üð¢ªð£¿¶ loop-¬ù õ¤ì¢´ ªõ÷¤ò¤ô¢ õ õ¤´«õ£ñ¢. loop-ù¢
à÷¢ [Link] ((char)c); âù¢Á ªè£´ð¢ðîù¢Íôñ¢ åõ¢ªõ£Á â¿î¢î£è
display Ýè¤ù¢ø¶.
Listing 8.3
import [Link].*;
class copycharacters
{
public static void main(String args[])
{
File infile=new File(“[Link]”);
File outfile=new File(“[Link]”);
FileReader ins=null;
RangaRakes [Link]
145
FileWriter outs=null;
try
{
ins=new FileReader(infile);
outs=new FileWriter(outfile);
int ch;
while ((ch=[Link]())!=-1)
{
[Link](ch);
}
}
catch(IOException e)
{
[Link](e);
[Link](-1);
}
finally
{
try
{
[Link]();
[Link]();
}
catch(IOException e) {}
}
}
}
Þï¢î ¹«ó£è¤ó£ñ£ù¶ ãø¢è¢ªèù«õ Þ¼è¢è¤ù¢ø å¼ Text File-ô¢ à÷¢÷
îèõô¢ è ¬÷ read ªêò¢ ¶ ¹î¤î£è å¼ file-¬ù à¼õ£è¢ è ¤ ÜîÂ÷¢ copy
ªêò¢»ñ¢ð®è¢° â¿îð¢ð좮¼è¢è¤ù¢ø¶.
File infile=new File(“[Link]”);
File outfile=new File(“[Link]”);
Þ颰 [Link] âù¢Âñ¢ file-ô¤ô¢ à÷¢÷ îèõô¢è÷¢ read ªêò¢òð¢ð좴
[Link] âù¢Âñ¢ ¹î¤ò file à¼õ£è¢èð¢ð좴 ÜîÂ÷¢ ðî¤òð¢ðì Þ¼è¢è¤ù¢ø¶.
RangaRakes [Link]
146
âù«õ FileReader ñø¢Áñ¢ FileWriter Ýè¤ò Class-è÷¤ù¢ object-è÷¢ ins, outs âù¢Á
à¼õ£è¢èð¢ð좴 Þ¼è¢è¤ù¢øù.
while((ch=[Link]( ))!=-1)
âù¢Á loop ܬñè¢èð¢ð좮¼è¢è¤ù¢ø¶. Þîù¢ Íôñ¢ end of file õ¼ñ¢ õ¬ó
åõ¢ ª õ£Á â¿î¢ î è¢ è ÷£è read ªêò¢ ò ð¢ ð ì¢ ´ [Link](ch); âù¢ ø function
àð«ò£è¤ð¢ð좴 åõ¢ªõ£Á â¿î¢î£è [Link] âÂñ¢ file -ô¢ â¿îð¢ð´è¤ù¢ø¶.
finally âù¢ø function åù¢Á â¿îð¢ð좮¼ð¢ð¬îè¢ èõù¤»é¢è÷¢. Þ¶
Java õ¤ô¢ Þ¼è¢è¤ù¢ø destructor function ݰñ¢. ¹«ó£è¤ó£ñ¢ º®»ñ¢ ªð£¿¶
î£ù£è Þò颰ñ¢. ÞîÂñ¢ [Link](); [Link](); Ýè¤ò file-è÷¢ Close ªêò¢òð¢
ð좮¼è¢è¤ù¢øù.
RangaRakes [Link]
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 [Link].*;
import [Link];
import [Link].*;
public class calender extends Applet
{
Date mydate;
RangaRakes [Link]
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)
{
[Link]=gx;
[Link]=gy;
[Link]=gw;
[Link]=gh;
[Link]=wx;
[Link]=wy;
[Link]=fi;
[Link]=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++)
{
RangaRakes [Link]
149
c_month.addItem(a_month[i]);
}
up=new Button(“>”);
down=new Button(“<“);
setLayout(gl);
assign(gc,0,0,1,1,100,100,[Link],
[Link]);
[Link](l_month,gc);
add(l_month);
assign(gc,1,0,1,1,100,100,[Link],
[Link]);
[Link](c_month,gc);
add(c_month);
assign(gc,2,0,1,1,100,100,[Link],
[Link]);
[Link](l_year,gc);
add(l_year);
assign(gc,4,0,1,1,100,100,[Link],
[Link]);
[Link](txt_year,gc);
add(txt_year);
int year=[Link]()+1900;
txt_year.setText(“”+year);
txt_year.setEditable(false);
assign(gc,5,0,1,1,100,100,[Link],
[Link]);
[Link](up,gc);
RangaRakes [Link]
150
add(up);
assign(gc,3,0,1,1,100,100,[Link],
[Link]);
[Link](down,gc);
add(down);
c_month.select(a_month[[Link]()]);
my_month=[Link]();
if(my_month==0)
my_count=31;
else
if(my_month==1)
{
int ef=[Link](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;
RangaRakes [Link]
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=[Link](txt_year.getText());
my_year=ab-1900;
[Link](my_day);
[Link](my_year);
[Link](my_month);
for(int i=0;i<a_days.length;i++)
{
[Link](a_days[i],x_col[i],75);
}
int x=[Link]();
int y=0;
for(int j=0;j<my_count;j++)
{
[Link](a_dates[j],x_col[x],x_row[y]);
x++;
if (x>6)
{
y++;
x=0;
}
}
}
RangaRakes [Link]
152
public boolean action(Event evt,Object arg)
{
if([Link] instanceof Choice)
{
String lab=(String)arg;
if (lab==”January”)
{
my_month=0;
my_count=31;
setBackground([Link]);
}
else
if(lab==”February”)
{
intbc=[Link](txt_year.getText());
if(bc%4==0)
{
my_month=1;
my_count=29;
}
else
{
my_month=1;
my_count=28;
setBackground([Link]);
}
}
else
if(lab==”March”)
{
my_month=2;
my_count=31;
setBackground([Link]);
Java-19 }
RangaRakes [Link]
153
else
if(lab==”April”)
{
my_month=3;
my_count=30;
setBackground([Link]);
}
else if(lab==”may”)
{
my_month=4;
my_count=31;
setBackground([Link]);
}
else
if(lab==”June”)
{
my_month=5;
my_count=30;
setBackground([Link]);
}
else
if(lab==”July”)
{
my_month=6;
my_count=31;
setBackground([Link]);
}
else
if(lab==”August”)
{
my_month=7;
my_count=31;
}
else
if(lab==”September”)
RangaRakes [Link]
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([Link](up))
{
txin=[Link](txt_year.getText());
txin++;
txt_year.setText(“”+txin);
if(txin%4==0)
{
if(my_month==1)
my_count=29;
RangaRakes [Link]
155
}
else
{
if(my_month==1)
my_count=28;
}
repaint();
return true;
}
else if([Link](down))
{
txin=[Link](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
RangaRakes [Link]
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 ªêò¢¶ ªè£÷¢è¤ù¢«ø£ñ¢.
RangaRakes [Link]
157
object -è÷¢ ܬùî»ñ¢ add ªêò¢îð¤ø° îø¢ªð£¿¶ mydate object-®ù¢
year- ô¢ âù¢ù ñî¤ð¢¹ Þ¼è¢è¤ù¢ø«î£ ÜîÂìù¢ 1900 âù¢ø ñî¤ð¢ð¤¬ùè¢ Ã좮
àí¢ ¬ ñò£ù «îî¤ò£ù txt_year âù¢  ñ¢ object-®ù¤ô¢ display ªêò¢ ¶
ªè£÷¢è¤ù¢«ø£ñ¢.
ܴ [Link] ( ) âù¢ø 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=[Link] ( );
âù¢ø 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,
RangaRakes downÝè¤ò
[Link]
158
RangaRakes [Link]