Mega Code Archive

 
Categories / Java / Event
 

ItemListener for JRadioButton

import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.WindowConstants; public class Main extends JFrame {   private JRadioButton small, medium, large;   private JButton button;   public Main(String title) {     super(title);     this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);     Container contentPane = this.getContentPane();     ButtonGroup group = new ButtonGroup();     small = new JRadioButton("small");     medium = new JRadioButton("medium");     large = new JRadioButton("large");     group.add(small);     group.add(medium);     group.add(large);     button = new JButton("Click here.");     button.setBounds(100, 50, 100, 50);     JPanel center = new JPanel();     center.setLayout(null);     center.add(button);     contentPane.add(center, BorderLayout.CENTER);     JPanel north = new JPanel();     north.add(small);     north.add(medium);     north.add(large);     contentPane.add(north, BorderLayout.NORTH);     ChangeSize listener = new ChangeSize(button);     small.addItemListener(listener);     medium.addItemListener(listener);     large.addItemListener(listener);   }   public static void main(String[] args) {     JFrame f = new Main("JRadioButtonDemo");     f.setSize(300, 200);     f.setVisible(true);   } } class ChangeSize implements ItemListener {   private Component component;   public ChangeSize(Component c) {     component = c;   }   public void itemStateChanged(ItemEvent e) {     String size = (String) e.getItem();     if (size.equals("small")) {       component.setSize(75, 20);     } else if (size.equals("medium")) {       component.setSize(100, 50);     } else if (size.equals("large")) {       component.setSize(150, 75);     }   } }