Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

EDUTIME Java Day 6 Serdar TÜRKEL Konular  AWT araçlarının kullanımı  Yerleşim Yöneticisi  Olayların yönetimi.

Benzer bir sunumlar


... konulu sunumlar: "EDUTIME Java Day 6 Serdar TÜRKEL Konular  AWT araçlarının kullanımı  Yerleşim Yöneticisi  Olayların yönetimi."— Sunum transkripti:

1

2 EDUTIME Java Day 6 Serdar TÜRKEL

3 Konular  AWT araçlarının kullanımı  Yerleşim Yöneticisi  Olayların yönetimi

4 AWT  AWT Abstract Windowing Toolkit (Soyut Pencereleme Araçtakımı)  AWT kullanıcı arabirimi yaratmamıza izin veren sınıflar setidir  Çekici ve etkili kullanıcı arabirimleri oluşturmayı sağlayan çeşitli parçalar sağlar •Kaplar(Containers) •Bileşenler(Components) •Yerleşim Yöneticilieri (Layout Managers) •Grafik ve çizme yetenekleri •Fontlar •Olaylar(Events)

5 AWT  AWT, sınıflar, arayüzler ve diğer paketlerden oluşur.

6 Kaplar(Containers)  Bileşenlerimizi koyduğumuz yerlerdir.  Bileşenleri tutabilir, üzerine çizilebilir ve boyanabilirler  Java.awt paketinin ‘Container’ isimli bir sınıf vardır.  Bu sınıf, doğrudan veya dolaylı olarak sık kullanılan iki kaptan türer •Çerçeveler(Frames) •Panolar(Panels)

7 Çerçeveler  Pencerelerden farklıdırlar  Pencerelerin alt sınıflarıdırlar  Ayrı bir pencere içinde gösterililer ve sınırları vardır.  ‘Frame’, bir apletten veya tarayıcıdan bağımsızdır.  Oluşturucuları •Frame() •Frame(String başlık)

8 Çerçeveler import java.awt.*; class FrameDemo extends Frame { public FrameDemo(String title){ super(title);} public static void main (String args[]) { FrameDemo f=new FrameDemo("Ben bir Frame mim"); f.setSize(300,200);f.setVisible(true);}}

9 Panel  Pencere içinde bulunur  Tarayıcının sağladığı pencerede bulunur ve sınırları yoktur.  Bileşenleri bir grup olarak kullanmak için kullanılır  Panel doğrudan gözükmez, ‘Frame’ eklememiz gerekir.  Oluşturucusu •Panel()

10 Panel import java.awt.*; class PanelTest extends Panel { public PanelTest() {} public static void main (String args[]) { PanelTest p = new PanelTest(); Frame f = new Frame("Testing a Panel"); f.add(p);f.setSize(300,200);f.setVisible(true);}}

11 Diyalog(Dialog)  Window sınıfının alt sınıfıdır  Oluşturucuları • •Frame myframe = new Frame(“My frame”); • •String title = “Title”; • •boolean modal = true; • •Dialog dlg = new Dialog( myframe, title, modal);

12 Bileşenler  Bileşenler, kullanıcı arayüzü üzerine yerleştirilebilir ve yeniden boytlandırılabilirler.  Örnek •Textfield, label, checkbox, textarea •Scrollbar, scrollpane, dialog

13 Label  String leri göstermek için kullanılır  Oluşturucuları • Label( ) • Label(String labeltext) • Label(String labeltext, int alignment)  Metotları •setFont(Font f) • setText(String s) • getText( )

14 Label import java.awt.*; class LabelTest extends Frame { Label label1; public LabelTest(String title){ super(title); label1= new Label("Sadece bir Label"); add(label1);} public static void main(String args[]){ LabelTest f = new LabelTest("Label"); f.setSize(300,200);f.show();}}

15 TextField  İçinde metin gösterilebilen yada girilebilen tek satırlık alanlardır.  Oluşturucuları • TextField( ) • TextField(int columns) • TextField(String s) • TextField(String s, int columns)  Metotları: •setEchoChar(char) • setTest(String s) • getText( ) • setEditable(boolean) • isEditable( )

16 TextField import java.awt.*; public class TextField1{ public static void main(String args[]){ Frame f=new Frame("Pencere"); f.setSize(300,300); TextField tf1=new TextField(); TextField tf2=new TextField("Edutime"); TextField tf3=new TextField("edutime",5); TextField tf4=new TextField(5); TextField tf5=new TextField("serdar"); f.setLayout(new FlowLayout()); f.add(tf1);f.add(tf2);f.add(tf3);f.add(tf4);f.add(tf5);f.setVisible(true);}}

17 TextField import java.awt.*; public class TextField1{ public static void main(String args[]){ Frame f=new Frame("Pencere"); f.setSize(300,300); TextField tf=new TextField("Edutime"); tf.setEchoCharacter('a'); //tf.setText("Edutime Bilgi akademisi"); //System.out.println (tf.getText()); /* *if(tf.isEditable()){ *if(tf.isEditable()){ System.out.println ("duzenlenebilir"); }else{ System.out.println ("duzenlenemez"); }*/f.add(tf);f.setVisible(true);}}

18 TextArea  Metinin iki veya daha fazla satır olarak alınacağı durumlarda kullanılır  Çok satırlı özelliğe sahip, düzenlenebilen bir alandır.  TextArea oluşturmak için gerekli adımlar: • Bir eleman oluşturun • Sahip olacağı satır ve kolon sayısını belirtin • Ekranda yer alacağı yeri belirtin

19 TextArea (Contd…)   Oluşturucuları: • •TextArea( ) • •TextArea(int rows, int cols ) • •TextArea(String text) • •TextArea(String text, int rows, int cols)

20 TextArea (Contd…) import java.awt.*; public class textArea1{ public static void main(String args[]){ String metin="edutime bilgi akademisi"; Frame f=new Frame("pencere"); f.setSize(200,300); TextArea alan=new TextArea(metin,10,20); f.add(alan);f.setVisible(true);}}

21 TextArea metotları  setText(String)  getText( )  setEditable(boolean)  isEditable( )  insertText(String, int)  replaceText(String, int, int)

22 TextArea import java.awt.*; public class TextArea2{ public static void main(String args[]){ String metin="edutime bilgi akademisi"; Frame f=new Frame("pencere"); f.setSize(200,300); TextArea alan=new TextArea(metin,10,20); alan.insertText("uuu",3); alan.insertText("uuu",3); alan.replaceText("TIME",6,11); alan.replaceText("TIME",6,11);f.add(alan);f.setVisible(true);}}

23 Düğme (Button )  Basma yada komut düğmeleri, grafik arayüzlerin önemli parçasıdır  Düğme oluşturmak için gerekli adımlar • Düğme bileşenini tercihen amacını belirten bir etiket ile oluşturun • Ekranda nereye koyacağımıza karar verin • Ekranda gösterin  Oluştrurucuları: • Button( ) • Button(String text)

24 Button import java.awt.*; class ButtonTest extends Frame { Button b1 = new Button("red"); Button b2 = new Button("Green"); Button b3 = new Button("Blue"); public ButtonTest(String title){ super(title); setLayout(new FlowLayout()); add(b1);add(b2);add(b3);} public static void main(String args[]){ ButtonTest f = new ButtonTest("ButtonTest"); f.setSize(300,200);f.show();}}

25 Checkbox ve RadioButton  Checkbox lar çok seçenekli kullanıcı girdileri için kullanılırlar  Radiobutton lar tercihleri belirtmek için kullanılır  Checkbox yada radiobutton yaratma için adımlar: • Bir eleman yaratın • Başlangıç durumunu (seçili veya seçili değil) olarak belirtin • Ekrandaki yerini belirtin • Ekranda gösterin

26 Checkbox ve RadioButton  Checkbox oluşturmak için oluşturucular:  Checkbox oluşturmak için oluşturucular: • Checkbox( ) • Checkbox(String text)  RadioButton oluşturmak için, önce ‘CheckboxGroup’ nesnesini aşağıdaki gibi oluşturmalıyız. •CheckboxGroup cg = new CheckboxGroup(); •Checkbox erkek= new Checkbox(“erkek”,cg,true); •Checkbox kadin= new Checkbox(“kadin”,cg,false)

27 Checkbox and RadioButton import java.awt.*; class CheckboxTest extends Frame { Label l1 = new Label("CheckBoxes"); Checkbox b1 = new Checkbox("red",true); Checkbox b2 = new Checkbox("Green",true); Checkbox b3 = new Checkbox("Blue",false); Label l2 = new Label("RadioButtons"); CheckboxGroup cg = new CheckboxGroup(); Checkbox erkek= new Checkbox("erkek",cg,false); Checkbox kadin= new Checkbox("kadin",cg,false); public CheckboxTest(String title){ super(title); setLayout(new FlowLayout()); add(l1);add(b1);add(b2);add(b3);add(l2);add(erkek);add(kadin);} public static void main(String args[]){ CheckboxTest f = new CheckboxTest("CheckboxTest"); f.setSize(300,200);f.show();}}

28 Tercih(Choice) Listeleri  ‘ Choice ’ sınıfı çoklu öğe listeleri oluşturmamızı sağlar  Liste ilk yaratıldığında boştur  Tercih listeleri oluşturmak için gereken adımlar: •Bir eleman yaratın •Öğeleri(String) tek tek ekleyin •Ekranda nerede yerleştireceğinize karar verin •Ekranda gösterin

29 Tercih(Choice) Listeleri  Örnekler Choice colors=new Choice( ); colors.addItem(“Red”);colors.addItem(“Green”);

30 Tercih(Choice) Listeleri import java.awt.*; class ChoiceTest extends Frame { Label l1 = new Label("What is your favorite color"); Choice colors = new Choice(); public ChoiceTest(String title){ super(title); setLayout(new FlowLayout()); add(l1);colors.add("White");colors.add("Red");colors.add("Orange");colors.add("Green");colors.add("Yellow");colors.add("Blue");add(colors);} public static void main(String args[]){ ChoiceTest f = new ChoiceTest("ChoiceTest"); f.setSize(300,200);f.show();}}

31 Yerleşim Yöneticisi (Layout Manager)  Farklı yerleşim türleri vardır: • Flow Layout • Border Layout • Card Layout • Grid Layout • GridBag Layout  Yerleşim yöneticisi ‘setLayout( )’ metodu kullanılarak ayarlanır

32 FlowLayout Yöneticisi  Apletlerin ve panoların varsayılan yerleşim yöneticisdir.  Bileşenler, sol üst köşeden sağ alt köşeye kadar yerleştirilir.  Oluşturucuları: • FlowLayout mylayout = new FlowLayout(); • FlowLayout exLayout = new flowLayout(FlowLayout.RIGHT);

33 BorderLayout Yöneticisi  ‘BorderLayout’ yöneticisi, ‘Window’,’Frame’ ve ‘Dialog’ için varsayılan yerleşim yöneticisidir.  Bu yerleşim biçimine göre, bir kap içinde en fazla beş parça yerleştirir.  Bu parçalar, kuzeye(North), güneye(South), batıya(West), doğuya(East), veya merkeze(Center) yerleştirilebilir

34 BorderLayout Yöneticisi  Example: To add component to North region Button b1= new Button(“North Button”); setLayout(new BorderLayout( )); add(b1, BorderLayout.NORTH);

35 BorderLayout Yöneticisi import java.awt.*; class BorderLayoutTest extends Frame { Label l1 = new Label("What is your favorite color"); private Button buttons[]; private String names[]={"Hide North","Hide South","Hide east","Hide West", "Hide Center"}; private BorderLayout layout; public BorderLayoutTest(String title){ super(title); layout= new BorderLayout(5,5); setLayout(layout); buttons = new Button[names.length]; int count; for(count = 0; count < names.length;count++){ buttons[count] = new Button(names[count]); }add(buttons[0],BorderLayout.NORTH);add(buttons[1],BorderLayout.SOUTH);add(buttons[2],BorderLayout.EAST);add(buttons[3],BorderLayout.WEST);add(buttons[4],BorderLayout.CENTER);} public static void main(String args[]){ BorderLayoutTest f = new BorderLayoutTest("BorderLayoutTest"); f.setSize(300,200);f.show();}}

36 CardLayout Yöneticisi  Farklı yerşelimlerden oluşan yığın tutabilir  Her yerleşim, destedeki bir kart gibidir.  Kart, çoğunlukla ‘Panel’ nesnesidir.  Düğme gibi ayrı bir bileşen, en üstte gösterilecek kartı kontrol eder.

37 CardLayout Yöneticisi  CardLayout oluşturmak için adımlar: • Ana panonun yerleşimini ‘CardLayout’ olarak ayarlıyoruz  CardLayout card = new CardLayout();  panelMain.setLayout(card); • Diğer panoları ana panoya ekliyoruz  panelMain.add(“Kirmizi Pano”, panelOne);  panelMain.add(“Mavi Pano”, panelTwo);

38 CardLayout Yöneticisi

39 GridLayout Yöneticisi  Kabı ızgaralara bölmemizi sağlar.  Bileşenler satırlara ve kolonlara yerleştirilir.  Her hücre, en az bir bileşen içermelidir.  Tüm bileşenler aynı boyutta ise kullanılır  Bileşenlerin yerleştirilme sıraları soldan sağa, yukarıdan aşağıyadır  Oluşturucusu GridLayout gl = new GridLayout(no. of rows, no. of columns);

40 GridBagLayout Yöneticisi  Bu yerleşimi kullanmak için, her bileşenin boyutunun ve yerleşiminin ne olacağını belirtmelisiniz.  ‘ GridBagLayoutConstraints ’ sınıfı, ‘GridLayout’ sınıfının her bileşeni yerleştirmek ve boyutunu ayarlamak için ihtiyaç duyduğu tüm ilgileri tutar.

41 Olayların yönetimi  Olaylar aşağıdakiler tarafından yönetilirler: • Abstract Windowing Toolkit • Trayıcı • Direkt olarak programcı tarafından yazılan olay yöneticileri(Event Handler)  Uygulama, bir olay yöneticisini bir nesneye kaydetmelidir  Bu yönetici, ilgili olay nesnede meydana geldiği zaman çağrılacaktır

42 Olayların yönetimi  Olay dinleyici, bir nesnenin oluşturduğu belirli bir olayı dinler  Her olay dinleyici, bu olayları yöneten metodları sağlar.  Dinleyiciyi gerçekleştiren sınıf, bu metodları tanımlamalıdır.

43 Olaylar & Karşılık gelen dinleyiciler  ActionEvent  AdjustmentEvent  ComponentEvent  FocusEvent  ItemEvent  WindowEvent  TextEvent  MouseEvent  KeyEvent  ActionListener  AdjustmentListener  ComponentListener  FocusListener  ItemListener  WindowListener  TextListener  MouseListener  MouseMotionListener  KeyListener

44 Event paketi sınıf hiyerarşisi Object Java.util.EventObjcet Java.awt.Event ActionEventAdjustmentEventComponentEvent ContainerEventInputEvent KeyEvent MouseEvent FocusEventWindowEvent ItemEvent

45 Dinleyici Arayüz Hiyerarşisi EventListener ActionListener AdjustmentListener ContinerListener FocusListener ItemListener KeyListener MouseListener MouseMotionListen er TextListener WindowListener

46 ActionListener ActionListener Button List MenuItem TextField

47 ItemListener ItemListener Choice Checkbox List

48 WindowListener WindowListener Dialog Frame

49 Component Sınıfının Dinleyicileri Component ComponentListener FocusListener KeyListener MouseListener MouseMotionListener

50 Menuüler  Menü çeşitleri : • Pull-down • Pop-up menü  Frame de sadece bir menü bar olabilir  Menünün bileşenleri: •Menubar • MenuItems


"EDUTIME Java Day 6 Serdar TÜRKEL Konular  AWT araçlarının kullanımı  Yerleşim Yöneticisi  Olayların yönetimi." indir ppt

Benzer bir sunumlar


Google Reklamları