Java AWT (Abstract Windows Toolkit)
Java AWT (Abstract Windows Toolkit)
Java में GUI (Graphical User Interface) create करने के 2 तरीके है, पहला AWT और दूसरा SWING. Swing AWT का extended version है, इसमें कुछ advanced features होते है। AWT के द्वारा भी अच्छी graphical application develop की जा सकती है। AWT एक GUI library होती है, जो graphical application में graphical components(Buttons, Text box, Check box) add करने के लिए packages और classes provide करती है। AWT library को किसी भी java program के साथ यूज़ किया जा सकता है। उसके लिए आपको java.awt.* package को import करना पड़ता है।
कोई भी application जैसे की calculator या text editor आदि आप AWT library के components (Buttons, Text-box, Check-box etc.) को यूज़ करते हुए बना सकते है। AWT के साथ अच्छी बात ये है की आप आसानी से इसे यूज़ कर सकते है। सभी components classes के द्वारा represent किये जाते है। आप सिर्फ इन classes के object create करते है और वो components आपकी application में add हो जाते है। यदि आप AWT के साथ काम कर सकते है तो Swing के साथ काम करने में आपको कोई problem नहीं होगी।
AWT library में 2 तरह की classes होती है। पहली container और दूसरी component classes होती है। AWT library इन ही 2 तरह की classes से मिलकर बनी हुई है। यदि आप इन 2 तरह की classes का concept समझ ले तो आपको AWT यूज़ करने में कोई problem नहीं होगी। इन दोनों तरह की classes के बारे में निचे दिया जा रहा है।
Container Classes
Container एक window होती है। जिसमे आप components को add करते है। ये आपकी application की main window होती है, जैसे की आपके browser की window है। ये window component के लिए base का काम करती है। इस window में आप components(buttons, text boxes, check boxes आदि) को add करते है। एक container में आप किसी दूसरे container को भी add कर सकते है। AWT library में 4 तरह की container classes है आप कोई सी भी यूज़ कर सकते है और उसमे components को add करवा सकते है। सबसे ज्यादा frame class को यूज़ किया जाता है। इन चारों container classes के बारे में निचे दिया जा रहा है।
Classes | Explanation |
---|---|
Window | ये एक window होती है। इस window की border नहीं होती है। और इसमें menu bar भी नहीं होता है। |
Panel | ये एक window होती है। इसमें title bar और menu bar नहीं होते है। और इस window की border भी नहीं होती है। |
Frame | ये एक window होती है। इसमें menu bar और title bar होते है। और इस window की borders भी होती है। |
Dialog | ये किसी दूसरी window के अंदर एक window होती है। ये किसी user event पर कोई message और उसके साथ action लेने के लिए components को display करती है। |
इन सभी windows को आप अपने according customize कर सकते है। जैसे की window की size अपने according रख सकते है और आप window में कौनसा layout यूज़ करना चाहते है, ये भी आप define कर सकते है। इस काम के लिए AWT library कुछ methods provide करती है। इन methods का नाम और upyog निचे दिया जा रहा है।
Method | Explanation | Example |
---|---|---|
add(Component obj) | इस मेथड के द्वारा आप कोई भी component container में add कर सकते है। इसके लिए आपको component class का object पास करना होता है। | add(b1); |
setSize(height,width) | इस method के द्वारा आप container की size set करते है। | setSize(100,300); |
setLayout(LayoutManager obj) | इस method के द्वारा आप container में layout define करते है। | setLayout(null); |
setVisible(true/false) | इस method के द्वारा आप container को visible और non-visible करते है। | setVisible(true); |
Component Classes
Components वो controls होते है, जिनसे users interact करते है। जैसे की button, text-field, scroll-bar और text-area आदि। Components standalone नहीं होते है। बिना container के आप component को यूज़ नहीं कर सकते है। पहले आप component क्रिएट करते है और फिर उसे container में add करवाते है। इसके बाद ही user components को यूज़ कर सकता है। हर component एक class को represent करता है। Component create करने के लिए आप simple उस component class का object क्रिएट करते है। कुछ common components और उनका उपयोग निचे दिया जा रहा है।
Classes | Explanation |
---|---|
Button | इस class का object create करके आप एक button create कर सकते है। |
Check-Box | ये class check-box क्रिएट करने के लिए यूज़ की जाती है। |
Choice | इस class से आप एक drop down menu क्रिएट कर सकते है। |
Label | इस class का object क्रिएट करके आप एक label क्रिएट कर सकते है। |
List | इस class से आप एक list create कर सकते है। |
Containers की तरह ही आप components को भी configure कर सकते है। जैसे की components का background color change कर सकते है ओर उनकी size को छोटा या बड़ा कर सकते है। इन सभी कामों के लिए AWT library methods provide करती है। इन methods की मदद से आप सभी components को अपनी application के according configure कर सकते है।
Method | Explanation | Example |
---|---|---|
setBackground(color) | इस मेथड से आप component का background color change कर सकते है। | setBackground(red); |
resize(height,width) | इस method से आप component की size को कम या ज्यादा कर सकते है। | resize(30,80); |
move(int,int); | इस method से आप component को dynamically move कर सकते है। | move(50,120) |
setBounds(int,int,int,int) | इस method से आप component की starting position set करते है। | setBounds(30,150,200,160) |
Frame Class
Frame एक container class है। अपनी application और need के according आप कोई सा भी container यूज़ कर सकते है। लेकिन ज्यादातर frame का यूज़ किया जाता है। Frame container में आपको title bar, menu bar और borders मिलती है इसलिए सभी basic graphical applications के लिए इस यूज़ किया जाता है। इसी वजह से मैने AWT के example में भी frame class को ही यूज़ किया है। Frame class को आप 2 तरह से यूज़ कर सकते है। पहले तरीके में आप frame class को extend करते है। दूसरे तरीके में आप frame class को extend ना करके frame class का object create करते है। ये दोनों ही तरीके उदाहरण के सहित निचे दिए जा रहे है।
class guiLabel extends Frame
{
guiLabel()
{
Label lb = new Label("This is AwT BeSt ExAmPlE");
add(lb);
setSize(200,200);
setVisible(true);
}
public static void main(String args[])
{
guiLabel gl = new guiLabel();
}
}
ऊपर दिए हुए उदाहरण में frame class को extend किया गया है। इस उदाहरण को आप आसानी से समझ सकते है। निचे दिए उदाहरण में frame class का object create किया गया है।
class guiButton
{
public static void main()
{
Frame f = new Frame();
Button b1 = new Button("Click it!!");
f.add(b1);
f.setTitle("Button Example");
f.setSize(200,200);
f.setVisible(true);
}
}