RadioButton kullanimi ve ItemListener sinifi

 

 

Uygulamamizin amaci, textfield’deki yaziyi RadioButton’lar araciligi ile seçilen yazi sekline çevirmek.
Bunun için bir tane textfield, 4 tane RadioButton ve bir tane ButtonGroup kullanacagiz. ButtonGroup kullanmamizin amaci, yalnizca bir RadioButton’un seçili olmasini saglamak.
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
publicclass RadioButonSinifi extends JFrame{
                private JTextField txf;
                private Font fNormal;
                private Font fKalin;
                private Font fEgik;
                private Font fKalinEgik;
                private JRadioButton rbNormal;
                private JRadioButton rbKalin;
                private JRadioButton rbEgik;
                private JRadioButton rbKalinEgik;
                private ButtonGroup grpButonlar;
               
                public RadioButonSinifi(){
                               super("Radio buton kullanimi");
                               setLayout(new FlowLayout());
                              
                               txf = new JTextField("yazilim mutfagi", 20);
                               add(txf);
                              
                               //radiobotton’larimizi hazirliyoruz.
                               rbNormal = new JRadioButton("Normal", true);
                               rbKalin = new JRadioButton("Kalin", false);
                               rbEgik = new JRadioButton("Egik", false);
                               rbKalinEgik = new JRadioButton("Kalin-egik", false);
                               add(rbNormal);
                               add(rbKalin);
                               add(rbEgik);
                               add(rbKalinEgik);
                              
                               //bir tane buttongroup olusturup butun radiobutonlari buna ekliyoruz.
                               grpButonlar = new ButtonGroup();
                               grpButonlar.add(rbNormal);
                               grpButonlar.add(rbKalin);
                               grpButonlar.add(rbEgik);
                               grpButonlar.add(rbKalinEgik);
                              
                               //yazi sekillerimizi (font) hazirliyoruz.
                               fNormal = new Font("Serif", Font.PLAIN,15);
                               fKalin = new Font("Serif", Font.BOLD,15);
                               fEgik = new Font("Serif", Font.ITALIC,15);
                               fKalinEgik = new Font("Serif",Font.BOLD + Font.ITALIC,15);
                               txf.setFont(fNormal);
                              
                               rbNormal.addItemListener(new ItemListenerSinifi(fNormal));
                               rbKalin.addItemListener(new ItemListenerSinifi(fKalin));
                               rbEgik.addItemListener(new ItemListenerSinifi(fEgik));
                               rbKalinEgik.addItemListener(new ItemListenerSinifi(fKalinEgik));
                }
                               privateclass ItemListenerSinifi implements ItemListener{
                                              
                                               private Font font;
                                              
                                               public ItemListenerSinifi(Font f) {
                                                               font = f;
                                               }
 
                                               @Override
                                               publicvoid itemStateChanged(ItemEvent e) {
                                                               txf.setFont(font);                                                 
                                               }
                                                              
                                               }                                             
                                              
}                                                                                                                                                                                                       
 
main metodunun oldugu sinifimiz:
.
 
publicclass Main {
                publicstaticvoid main(String[] arg){
                               RadioButonSinifi rbs = new RadioButonSinifi();
                               rbs.setDefaultCloseOperation(rbs.EXIT_ON_CLOSE);
                               rbs.setSize(300,100);
                               rbs.setVisible(true);
                }
}
 
ItemListenerSinifi adli sinifi biraz açiklamak istiyorum. Bu sinifi RadiButton’lari konrtol etmek için yazdim.
Bu sinifa ItemListener sinifini implemente ettim. ItemListener sinifinda kullanilmasi zorunlu olan bir metot var, itemStateChanged metodu.
 
Daha önceki uygulamamda bu sinifi yazarken yapilandirici kullanmamistim. Bu sefer bir yapilandirici kullandim ve parameter olarak da Font verdim; yazi seklini belirlemek için.
RadioButton’larimizi bu sinifa eklerken, daha önceden hazirlamis oldugum fontlari da yapilandiricimiza paramtre olarak kullandim:
 
                               rbNormal.addItemListener(new ItemListenerSinifi(fNormal));
                               rbKalin.addItemListener(new ItemListenerSinifi(fKalin));
                               rbEgik.addItemListener(new ItemListenerSinifi(fEgik));
                               rbKalinEgik.addItemListener(new ItemListenerSinifi(fKalinEgik));
 
 
 Ayrintili sorularinizi forum sayfamizda iletebilirsiniz.
 
 

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir