Java-ஜாவா-ஒரு அறிமுகம்.
ஜாவா ஒரு இணைய மொழி ஆகும்.
சன் மைக்ரோ சிஸ்டமால் உருவாக்கப் பட்டு இன்று ஆரக்கிள் கார்ப்பரஷனின் கையில் உள்ளது.
இது உருவாக்கப்படுவதற்கு முன்னால் சி,சி++ மிகவும் பிரபலமாக இருந்த சமயம்.நிறைய எலக்ட்ரானிக் சாதனங்கள் கண்டுபிடிக்கப் பட்டன.
இவற்றில் நிரலாக்கம் செய்தால் ஒரு சாதனத்தில் செய்யப்பட்ட நிரலை வேறொரு சாதனத்தில் அப்படியே இயக்க முடிய வில்லை. ஒவ்வொரு சாதனத்திற்கும் ஏற்றாற் போல் நிரல் பெயர்ப்பி(compiler) எழுத வேண்டியிருந்தது. Compiler என்பது விலை உயர்ந்ததாய் இருந்தது.
எனவே ஒரு portable language தேவைப்பட்டது.
மேலும் இரண்டாவது காரணம்
இணையம் கண்டு பிடிக்கப்பட்டது. இணையம் சம்பந்தப்பட்ட பயன்பாடுகக்ள்(applications) உருவாக்குவதற்கு ஒரு மொழி தேவைப்பட்டது.
இந்த இரண்டுமே ஜாவா மொழி கண்டு பிடிக்கப்பட காரணமாகும்.
ஆம் ஜாவா ஒரு portable மொழியாகும்.
இத்ற்கு முன் oak என்று பெயரிடப்பட்டிருந்த இந்த மொழியை உருவாக்கிய
சன் மைக்ரோ சிஸ்டம் சேர்ந்த நிரலாளர்கள் ஜாவா காஃப்பி குடித்துக்
கொண்டே என்ன பெயரிடலாம் என்று யோசித்த போது காஃப்பியின் பெயரிட்டால் என்று தோன்றியது. இதுவே ஜாவா என்று பெயரிட காரணமாகும்.
Java is a both compiled and interpreted language.
முதலில் ஜாவா compile செய்யப்ப்ட்டு class file ஆக மாற்றப்படுகின்றது.
பிறகு jvm (java virtual machine) ஆல் இன்டெர்ப்ரெட் செய்ய்ப்பட்டு இயக்கப்படுகின்றது.
ஜாவா ஒரு பொருள் நோக்கு நிரலாக்க மொழியாகும்(object oriented language).
மேலும் ஜாவா ஒரு நவீன மொழியாகும். உயர்தர பிழை கையாளுதல் (exception handling) மற்றும் garbage collection கொன்ண்டுள்ளது. அதாவது garbage collector ஆனது அவ்வப்போது இயங்கி நிரல் ஆக்கிரமித்திருந்த நிணைவகத்தை release செய்கிறது.
ஜாவாவில் pointer கிடையாது. எனவே ஜாவா நிரலால் நம் கணினியில் உள்ள நிணைவத்தை அணுக முடியாது. எனவே hacking போன்றவை தடுக்கப்படுகின்றன.
எனவே ஜாவா ஒரு பாதுகாப்பான மொழி எனப்படுகின்றது(java is a secured language)
மேலும் ஜாவாவில் multiple inheritance கிடையாது.
Awt ஒரு அறிமுகம்.
Abstract
Window Toolkit(AWT)
இது
கிராபிக்கல் யூசர் இன்டெர்ஃபேஸ் உருவாக்க உதவும் லைப்ரரி கிளாஸ்களின்
தொகுப்பாகும். டெக்ஸ்ட் ஃபீல்ட், பட்டன், ஸ்குரோல்பார் போன்ற GUI காம்பனெண்ட்ஸ்
உருவாக்க உதவும் கிளாஸ்கள் இவை.
AWT-யால்
தரப்படும் டூல்கள் அது எந்த ஆபரேட்டிங் சிஸ்டத்தில் இயக்குகின்றதோ அதை பின்
பற்றியே அமையும். இது ஒரு வழியில் பார்த்தால் நண்மையாகுமென்றாலும் ஒரே மாதியான
வெளியீடு இல்லாதது ஒரு பிழையாகவே தோன்றும். அதாவது GUI டிசைன் செய்ய்யும் பொழுது
ஒரு ஆபரேட்டிங்க் சிஸ்டத்திற்கு செய்த டிசைன் அடுத்த ஆபரேட்டிங்க் சிஸ்டத்தில்
வேறு மாதிரி வெளிப்படும்.
Swing என்பது awt-யில் இருந்து எக்ஸ்டெண்ட் செய்யப்பட்ட
இன்டெர்ஃபேசஸ் ஆகும். இப்பொழுதெல்லாம் awt ஆனது அரிதாகவே உபயோகப்
படுத்தப்படுகின்றது. ஏனெனில் ஸ்விங்க் பிளாட்ஃபார்ம் இண்டிபெண்டென்ட் ஆகும். இங்கு
பிளாட்ஃபார்ம் என்பது ஆபரேட்டிங்க் சிஸ்டத்தைக் குறிக்கும்..
AWT
Hierarchy
Component
class
காம்பனெண்ட்
கிளாஸ் என்பது awt-யின் மூல லைப்ரரி கிளாஸ் ஆகும். இது ஒரு அப்ஸ்ட்ராக்ட் கிளாஸ்
ஆகும்.ஒரு காம்பனெண்ட் ஆப்ஜெக்ட் ஆனது செலக்ட் செய்யப்பட்டுள்ள டெக்ஸ்டின்
பேக்ரவுண்ட் மற்றும் ஃபோர்கிரவுண்ட் கலர் என்னென்ன ஞாபகத்தில் கொள்ளுதல் ஆகும்.
இது ஒரு விசுவல் ஆப்ஜெக்டின் எல்லா பண்புகளையும் என்கேப்சுலேட் செய்துள்ளது.
குறிப்பு:
(அப்ஸ்ட்ராக்ட்
கிளாஸிற்கு ஆப்ஜெக்ட் உருவாக்க முடியாது. ஆனால் அந்த கிளாஸை எக்ஸ்டென்ட் செய்து
அந்த கிளாஸிற்கு ஆப்ஜெக்ட் உருவாக்கலாம்.
Container
இது
பட்டன்,டெக்ஸ்ஃபீல்ட் போன்ற மற்ற காம்பனெண்டுகளை
கண்டெய்ன் செய்திருக்கும். இது காம்பனெண்ட்ஸ் கிளாஸின் சப் கிளாஸ் ஆகும்.
Panel
இது
கண்டெய்னர் கிளாஸின் சப் கிளாஸ் ஆகும். இதுவும் மற்ற காம்பனெண்டுகளை கண்டைன்
செய்திருக்கும்.
Window
class
இது
டாப் லெவெல் விண்டோ ஆகும். விண்டோவிற்கு பார்டரோ அல்லது மெனுபாரோ கிடையாது.
Frame
இது விண்டோவின் சப் கிளாஸ் ஆகும்..இது ரீசைஸ் செய்யக் கூடிய
கேன்வாஸைக் கொண்டட்
Creating
a Frame
ஃப்ரேம்
உருவாக்குதல்:
இரு
வழிகளில் ஃப்ரேம் உருவாக்கலாம்.
1.
FRAME என்கின்ற
கிளாஸை இன்ஹெரிட் செய்தல்
2.
FRAME
கிளாஸிற்கு ஆப்ஜெக்ட் உருவாக்குதல்
சான்று
நிரல்-1
package test;
import java.awt.*;
public class Test
{
Test()
{
Frame fm=new
Frame(); //Creating a frame.
Label lb = new
Label("welcome by muthu karthikeyan"); //Creating a label
fm.add(lb); //adding label to the frame.
fm.setSize(300,
300); //setting frame size.
fm.setVisible(true);
//set frame visibilty true.
}
public static void
main(String args[])
{
Test ta = new
Test();
}
}
மேலே
உள்ள நிரலில் ஃப்ரேம் கிளாஸிற்கு ஆப்ஜெக்ட் உருவாக்கியுள்ளோம்.
சான்று
நிரல்-2
package
testawt;
import
java.awt.*;
import
java.awt.event.*;
public
class Testawt extends Frame
{
public Testawt()
{
Button btn=new Button("Hello
World");
add(btn);
setSize(400, 400);
setTitle("Muthu karthikeyan");
setLayout(new FlowLayout());
setVisible(true);
}
public static void main (String[] args)
{
Testawt ta = new Testawt();
}
}
மேலெ
உள்ள நிரலில் ஃபரேம் கிளாசை இன்ஹெரிட் செய்துள்ளோம்
ஞாபகத்தில்
வைத்துக் கொள்ள வேண்டியவை:
SetSize(int
width, int height);
setVisible(true).
மேலே
உள்ள இரண்டு வரிகளும் இல்லா விட்டால் ஃப்ரேம் விசிப்பிள்
ஆக
இருக்காது
மற்ற
காம்பனெண்டுகள் உருவாக்கும் பொழுது அதை add மெத்தட் மூலம் ஃப்ரேமுடன் இணைத்தல்
வேண்டும்.
Swing
இது
ஒரு ஜாவாஸ்கிரிப்ட் ஃப்ரேம் வொர்க் ஆகும். இதுவும் awt போலவே gui உருவாக்க
உதவுகின்றது. எனினும் இது தோற்றத்திற்கு ஜாவாவையே முழுதாக சார்ந்திருக்கின்றது.
ஆபரேட்டின் சிஸ்டத்தை அல்ல. எனவே எல்லா பிளாட்ஃபார்மிலும் ஒரு தோற்றத்தில்
இருக்கும்.
ஸ்விங்
பண்புகள்:
1.
பிளாட்ஃபார்ம்
சாராதது.
2.
லைட் வெய்ட்
காம்பனெண்ட்
3.
அதிகமான
கண்ட்ரோல்கள்.
4.
நமக்கு
ஏற்றாற்போல் மாற்றியமைத்துக் கொள்ளலாம்.
JFC
என்பது என்ன?
JFC
என்பது ஜாவா ஃபவுண்டேசன் கிளாஸ் என்பதன் சுருக்கமாகும். . இது GUI அமைக்கவும்
மேலும் ஜாவாவிற்கு கிராப்பிகல் ஃபங்க்சனாலிடியை வழங்கவும் உதவிகின்றது. இதன் ஒரு
பகுதியே ஸ்விங் ஆகும்.
AWT
and Swing Hierarchy
ஸ்விங்க்
கிளாஸ்கள் அறிமுகம்.
JPanel:
இது awt-யின் panel போலவே செயற்படுகின்றது. இதன் இயற்கையாகவே ஃப்லோ லேய் அவுட்டை
கொண்டிருக்கின்றது. மேலும் இது JComponent கிளாசை நேரடியாக இன்ஹெரிட் செய்கின்றது.
JFrame:
இதுவும் awt-யின் ஃப்ரேம் போன்றே செயற்படுகின்றது. ஃபரேமில் ஆட் செய்யப் படும்
காம்பனண்ட் அதன் கண்டெண்ட் எனப்படுகின்றது.
JLabel: இது
டெக்ஸ்ட் லேபிள்களை இருவாக்க உதவுகின்றது.
JButton:
இதை கிளிக் செய்யும் பொழுது கோடிங்க்
எக்ஸ்க்யூட் செய்ய உதவும் கண்ட்ரோல் ஆகும்.
JTextField:
இதில்
உள்ளீடு கொடுக்கலாம்.
சான்று
நிரல்-3
package
first;
import
javax.swing.*; //importing swing package
import
java.awt.*; //importing awt package
public
class First
{
JFrame jf;
public First() {
jf = new JFrame("My lesson");
JButton btn = new
JButton("sayHello");
jf.add(btn);
jf.setLayout(new FlowLayout());
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(400, 400);
jf.setVisible(true);
}
public static void main(String[] args)
{
new First();
}
}
Creating
JFrame window by extending JFrame class
package
second;
import
javax.swing.*; //importing swing package
import
java.awt.*; //importing awt package
public
class Second extends JFrame
{
public Second()
{
setTitle("My Lesson");
JLabel lb = new JLabel("Welcome by Muthu
karthikeyan");
add(lb);
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 400);
setVisible(true);
}
public static void main(String[] args)
{
new Second();
}
}
Points
To Remember
ஞாபகத்தில்
கொள்வதற்கு:
1.
Javax.swing
மற்றும் java.awt பேக்கேஜ் இரண்டையும் இம்போர்ட் செய்ய வேண்டும்.
Swing
Components மற்றும் Containers
காம்பனெண்ட்
என்பது Visual control ஆகும். இவை யெல்லாமே JComponent என்கின்ற கிளாசிலிருந்து
டெரிவ் செய்யப்பட்டவை. இவை லைட் வெய்ட் காம்பனெண்ட்ஸ் ஆகும்.
- Top level Containers
- இது AWT காம்பனெண்ட் மற்றும் கன்டைனர் ஆகிய இரண்டையும் இன்ஹெரிட் செய்கின்றது.
- ஹெவி வெய்ட்
- JFrame, JDialog மற்றும் JApplet போன்றவை உதாரணமாகும்.
லைட்
வெய்ட் கண்டைனர்:
இது
JComponent கிளாஸை இன்ஹெரிட் செய்கின்றது.
உதாரணம்:
JPanel.
JButton
இது
ஒரு பட்டனின் ஃபங்க்சனாலிட்டியை வழங்குகின்றது. இது மூன்று வகையான
கன்ஸ்ட்ரக்டர்களை கொண்டுள்ளது.
உதாரணம்:
JButton(Icon ic)
JButton(String str)
JButton(String str,
Icon ic)
மேலும் இது
ActionEvent என்பதை ஆதரிக்கின்றது. ஒரு பட்டனை கிளிக் செய்யும் பொழுது ActionEvent
ஆனது ஜெனெரேட் ஆகின்றது.
சான்று
நிரல்-5:
import javax.swing.*;
import
java.awt.event.*;
import java.awt.*;
public class testswing
extends JFrame
{
testswing()
{
JButton bt1 = new JButton("Yes"); //Creating a Yes Button.
JButton bt2 = new JButton("No"); //Creating a No Button.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) //setting close operation.
setLayout(new FlowLayout()); //setting layout using FlowLayout object
setSize(400, 400); //setting size of Jframe
add(bt1); //adding
Yes button to frame.
add(bt2); //adding
No button to frame.
setVisible(true);
}
public static void main(String[] args)
{
new testswing();
}
}
JTextField:
இது
ஒற்றை வரியில் இன்புட் வாங்க பயன்படுகின்றது. இது பரவலாக உபயோகப்படுத்தப்படும்
காம்பனெண்ட் ஆகும். இது மூன்று கன்ஸ்ட்ரக்டர்களை கொண்டுள்ளது.
உதாரணம்:
JTextField(int cols)
JTextField(String str,
int cols)
JTextField(String str)
இதில் cols
என்பது டெக்ஸ்ட் ஃபீல்ட் எவ்வளவு காலம்ன் கொண்டிக்கலாம் என்பதைக் குறிக்கின்றது.
சான்று நிரல்:6
package
mytextfield;
import
javax.swing.*;
import
java.awt.event.*;
import
java.awt.*;
public
class MyTextField extends JFrame
{
public MyTextField()
{
JTextField jtf = new JTextField(20);
add(jtf);
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 400);
setVisible(true);
}
public static void main(String[] args)
{
new MyTextField();
}
}
JCheckBox:
இது ஒன்று அல்லது ஒன்றுக்கு மேற்பட்ட
ஆப்சனைக் கொண்டிருக்கும்.அதில் இருந்து எத்தணை ஆப்சன் வேண்டுமென்றாலும்
தேர்ந்தெடுக்கலாம்.
இதன்
கன்ஸ்ட்ரக்டர்:
JCheckBox(String str)
சான்று
நிரல்-7:
package
test1;
import
javax.swing.*;
import
java.awt.event.*;
import
java.awt.*;
public
class Test1 extends JFrame
{
public Test1()
{
JCheckBox jcb = new
JCheckBox("yes");
add(jcb);
jcb = new JCheckBox("no");
add(jcb);
jcb = new JCheckBox("maybe");
add(jcb);
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 400);
setVisible(true);
}
public static void main(String[] args)
{
new Test1();
}
}
JRadioButton:
இந்த
கண்ட்ரோலும் ஒன்று அல்லது ஒன்றிற்கு மேற்பட்ட ஆப்சனைக் கொண்டிருக்கும். இதில் ஒரே
ஒரு ஆப்சனை மட்டுமே செலெக்ட் செய்யலாம்.
கன்ஸ்ட்ரக்டர்
உதாரணம்:
JRadioButton(String
str)
சான்று
நிரல்-8
package
test1;
import
javax.swing.*;
import
java.awt.event.*;
import
java.awt.*;
public
class Test1 extends JFrame
{
public Test1()
{
JRadioButton jcb = new
JRadioButton("A");
add(jcb);
jcb = new JRadioButton("B");
add(jcb);
jcb = new JRadioButton("C");
add(jcb);
jcb = new JRadioButton("none");
add(jcb);
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 400);
setVisible(true);
}
public static void main(String[] args)
{
new Test1();
}
}
JComboBox
இது
டெக்ஸ்ட் ஃபீல்ட் மற்றும் டிராப்டவுன் லிஸ்டின் காம்பினேசன் ஆகும். கன்ஸ்டரக்டர்
உதாரணம்:
JComboBox(String
arr[])
சான்று
நிரல்-9
package test1;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Test1 extends JFrame
{
String name[] =
{"ravi","raja","bala","hari"};
public Test1()
{
JComboBox jc = new
JComboBox(name);
add(jc);
setLayout(new
FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 400);
setVisible(true);
}
public static void
main(String[] args)
{
new Test1();
}
}
சான்று
நிரல்-10
package
stcolor;
import
java.awt.*; //importing awt package
import
javax.swing.*; //importing swing package
import
java.awt.event.*; //importing event
package
//For
an event to occur upon clicking the button, ActionListener interface should be
implemented
class
Stcolor extends JFrame implements ActionListener{
JFrame
frame;
JPanel
panel;
JButton
b1,b2,b3,b4,b5;
Stcolor(){
frame = new JFrame("COLORS");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel(); //Creating a panel which is a container and
will hold all the buttons
panel.setSize(100, 50);
b1 = new JButton("BLUE"); //Creating a button named BLUE
b1.addActionListener(this); //Registering the button with the listener
b2 = new JButton("RED"); //Creating a button named RED
b2.addActionListener(this); //Registering the button with the listener
b3 = new
JButton("CYAN");//Creating a button named CYAN
b3.addActionListener(this);//Registering the
button with the listener
b4 = new JButton("PINK"); //Creating a button named PINK
b4.addActionListener(this); //Registering the button with the listener
b5 = new JButton("MAGENTA"); //Creating a button named MAGENTA
b5.addActionListener(this); //Registering the button with the listener
//Adding buttons to the Panel
panel.add(b1);
panel.add(b2);
panel.add(b3);
panel.add(b4);
panel.add(b5);
frame.getContentPane().add(panel); //adding panel to the frame
frame.setSize(500,300);
frame.setVisible(true);
frame.setLayout(new FlowLayout());
}
//The
below method is called whenever a button is clicked
@Override
public void actionPerformed(ActionEvent e)
{
Object see = e.getSource();
if(see ==(b1)){
frame.getContentPane().setBackground(java.awt.Color.blue);
}
if(see == b2){
frame.getContentPane().setBackground(java.awt.Color.red);
}
if(see == b3){
frame.getContentPane().setBackground(java.awt.Color.cyan);
}
if(see == b4){
frame.getContentPane().setBackground(java.awt.Color.pink);
}
if(see == b5){
frame.getContentPane().setBackground(java.awt.Color.magenta);
}
}
public static void main(String[] args) {
Stcolor o = new Stcolor();
}
}
மேலே உள்ள நிரலில் மொத்தம் ஐந்து பட்டன்கள் உள்ளன. ஒவ்வொரு பட்டனை கிளிக் செய்யும் பொழுதும்
ஃப்ரேமின் பேக்ரவுண்ட் நிறம் மாறும். ஐந்து பட்டன்களும் ஆட் ஆக்சன் லிசனருடன்
சேர்க்கப் பட்டுள்ளது. இதை கிளிக் செய்யும் பொழுது ஆக்சன் பெர்ஃபார்முடு என்ற
மெத்தட் கால் ஆகின்றது. அந்த மெத்தடில் எந்த பட்டன் கிளிக் செய்கின்றோமோ
அதற்கேற்றாற் போல் ஃப்ரேமின் பிண்ணனி நிறம் மாறும் படி கோடிங்க் செய்யப்பட்டுள்ளது.
முத்து கார்த்திகேயன்,மதுரை.
No comments:
Post a Comment