User Tools

Site Tools


swing:jradiobutton

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
swing:jradiobutton [2018/03/23 12:05]
gthanos
swing:jradiobutton [2020/03/30 08:41]
gthanos
Line 7: Line 7:
 Παράλληλα, δημιουργούνται και δύο αντικείμενα τύπου [[http://docs.oracle.com/javase/7/docs/api/java/awt/event/ItemEvent.html|java.awt.events.ItemEvent]] ένα αντικείμενο για το button που επιλέχθηκε και ένα αντικείμενο για το button που απο-επιλέχθηκε (εάν υπήρξε τέτοιο), τα οποία λαμβάνονται από ένα αντικείμενο του τύπου [[http://docs.oracle.com/javase/7/docs/api/java/awt/event/ItemListener.html|ItemListener]].  Παράλληλα, δημιουργούνται και δύο αντικείμενα τύπου [[http://docs.oracle.com/javase/7/docs/api/java/awt/event/ItemEvent.html|java.awt.events.ItemEvent]] ένα αντικείμενο για το button που επιλέχθηκε και ένα αντικείμενο για το button που απο-επιλέχθηκε (εάν υπήρξε τέτοιο), τα οποία λαμβάνονται από ένα αντικείμενο του τύπου [[http://docs.oracle.com/javase/7/docs/api/java/awt/event/ItemListener.html|ItemListener]]. 
  
-Παρακάτω δίνονται δύο παραλλαγές του ιδίου προγράμματος **α)** με χρήση [[http://docs.oracle.com/javase/7/docs/api/java/awt/event/ActionListener.html|ActionListener]] και **β)** με χρήση [http://docs.oracle.com/javase/7/docs/api/java/awt/event/ItemListener.html|ItemListener]]. Για τα δύο παραδείγματα που ακολουθούν θα χρειαστείτε τις εικόνες {{:swing:animals.zip|}}.+Παρακάτω δίνονται δύο παραλλαγές του ιδίου προγράμματος **α)** με χρήση [[http://docs.oracle.com/javase/7/docs/api/java/awt/event/ActionListener.html|ActionListener]] και **β)** με χρήση [[http://docs.oracle.com/javase/7/docs/api/java/awt/event/ItemListener.html|ItemListener]]. Για τα δύο παραδείγματα που ακολουθούν θα χρειαστείτε τις εικόνες {{:swing:animals.zip|}}.
  
 ==== Παράδειγμα χρήσης ActionListener ==== ==== Παράδειγμα χρήσης ActionListener ====
Line 24: Line 24:
    images/Pig.gif    images/Pig.gif
  */  */
-public class RadioButtonDemo extends JPanel +public class RadioButtonDemo extends JPanel {
-               implements ActionListener {+
   static String birdString = "Bird";   static String birdString = "Bird";
   static String catString = "Cat";   static String catString = "Cat";
Line 68: Line 67:
  
     //Register a listener for the radio buttons.     //Register a listener for the radio buttons.
-    birdButton.addActionListener(this); +    birdButton.addActionListener(listener); 
-    catButton.addActionListener(this); +    catButton.addActionListener(listener); 
-    dogButton.addActionListener(this); +    dogButton.addActionListener(listener); 
-    rabbitButton.addActionListener(this); +    rabbitButton.addActionListener(listener); 
-    pigButton.addActionListener(this);+    pigButton.addActionListener(listener);
  
     //Set up the picture label.     //Set up the picture label.
Line 98: Line 97:
   }   }
  
-  /** Listens to the radio buttons. */ +  ActionListener listener = new ActionListener() { 
-  public void actionPerformed(ActionEvent e) { +    /* Listens to the radio buttons. */ 
-    picture.setIcon(new ImageIcon(e.getActionCommand() + ".gif")); +    public void actionPerformed(ActionEvent e) { 
-  }+      picture.setIcon(new ImageIcon(e.getActionCommand() + ".gif")); 
 +    } 
 +  };
  
   /**   /**
Line 137: Line 138:
 ==== Παράδειγμα χρήσης ItemListener ==== ==== Παράδειγμα χρήσης ItemListener ====
  
-<code java .java>+<code java RadioButtonDemo2.java>
 import java.awt.*; import java.awt.*;
 import java.awt.event.*; import java.awt.event.*;
Line 150: Line 151:
    images/Pig.gif    images/Pig.gif
  */  */
-public class RadioButtonDemo2 extends JPanel +public class RadioButtonDemo2 extends JPanel { 
-               implements ItemListener {+  
   static String birdString = "Bird";   static String birdString = "Bird";
   static String catString = "Cat";   static String catString = "Cat";
Line 166: Line 167:
     JRadioButton birdButton = new JRadioButton(birdString);     JRadioButton birdButton = new JRadioButton(birdString);
     birdButton.setMnemonic(KeyEvent.VK_B);     birdButton.setMnemonic(KeyEvent.VK_B);
-    birdButton.setActionCommand(birdString); 
     birdButton.setSelected(true);     birdButton.setSelected(true);
  
     JRadioButton catButton = new JRadioButton(catString);     JRadioButton catButton = new JRadioButton(catString);
     catButton.setMnemonic(KeyEvent.VK_C);     catButton.setMnemonic(KeyEvent.VK_C);
-    catButton.setActionCommand(catString); 
  
     JRadioButton dogButton = new JRadioButton(dogString);     JRadioButton dogButton = new JRadioButton(dogString);
     dogButton.setMnemonic(KeyEvent.VK_D);     dogButton.setMnemonic(KeyEvent.VK_D);
-    dogButton.setActionCommand(dogString); 
  
     JRadioButton rabbitButton = new JRadioButton(rabbitString);     JRadioButton rabbitButton = new JRadioButton(rabbitString);
     rabbitButton.setMnemonic(KeyEvent.VK_R);     rabbitButton.setMnemonic(KeyEvent.VK_R);
-    rabbitButton.setActionCommand(rabbitString); 
  
     JRadioButton pigButton = new JRadioButton(pigString);     JRadioButton pigButton = new JRadioButton(pigString);
     pigButton.setMnemonic(KeyEvent.VK_P);     pigButton.setMnemonic(KeyEvent.VK_P);
-    pigButton.setActionCommand(pigString); 
  
     //Group the radio buttons.     //Group the radio buttons.
Line 194: Line 190:
  
     //Register a listener for the radio buttons.     //Register a listener for the radio buttons.
-    birdButton.addItemListener(this); +    birdButton.addItemListener(itemListener); 
-    catButton.addItemListener(this); +    catButton.addItemListener(itemListener); 
-    dogButton.addItemListener(this); +    dogButton.addItemListener(itemListener); 
-    rabbitButton.addItemListener(this); +    rabbitButton.addItemListener(itemListener); 
-    pigButton.addItemListener(this);+    pigButton.addItemListener(itemListener);
  
     //Set up the picture label.     //Set up the picture label.
-    picture = new JLabel(new ImageIcon( +    picture = new JLabel(new ImageIcon(birdString + ".gif"));
-                       birdString +
-                       + ".gif"));+
  
     //The preferred size is hard-coded to be the width of the     //The preferred size is hard-coded to be the width of the
Line 224: Line 218:
   }   }
  
-  /** Listens to the radio buttons. */ +  ItemListener itemListener = new ItemListener() { 
-  public void itemStateChanged(ItemEvent e) { +    public void itemStateChanged(ItemEvent e) { 
-    if(e.getStateChange() == ItemEvent.SELECTED) { +      if(e.getStateChange() == ItemEvent.SELECTED) { 
-      JRadioButton btn = (JRadioButton)e.getItemSelectable(); +        JRadioButton btn = (JRadioButton)e.getItemSelectable(); 
-      picture.setIcon(new ImageIcon(btn.getText() + ".gif"));+        picture.setIcon(new ImageIcon(btn.getText() + ".gif")); 
 +      }
     }     }
-  }+  };
  
   /**   /**
swing/jradiobutton.txt · Last modified: 2020/03/30 07:48 (external edit)