Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Initialize JCheckBoxMenuItem with checked option

import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.AbstractButton; import javax.swing.ButtonGroup; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JRadioButtonMenuItem; import javax.swing.JSeparator; import javax.swing.JTextField; public class SwingWinMenus extends JFrame {   public static int WIDTH = 300;   public static int HEIGHT = 300;   public static String TITLE = "SwingWin";   Container frameContainer;   JTextField textField = new JTextField(50);   JMenuBar menuBar = new JMenuBar();   JMenu fileMenu = new JMenu("File");   JMenuItem fileNew = new JMenuItem("New");   JMenuItem fileOpen = new JMenuItem("Open");   JMenuItem fileSave = new JMenuItem("Save");   JMenuItem fileExit = new JMenuItem("Exit");   JMenu editMenu = new JMenu("Edit");   JMenuItem editCut = new JMenuItem("Cut");   JMenuItem editCopy = new JMenuItem("Copy");   JMenuItem editPaste = new JMenuItem("Paste");   JMenu specialMenu = new JMenu("Special");   JCheckBoxMenuItem specialCheck1 = new JCheckBoxMenuItem("Check 1");   JCheckBoxMenuItem specialCheck2 = new JCheckBoxMenuItem("Check 2", true);   JSeparator separator = new JSeparator();   JRadioButtonMenuItem specialRadio1 = new JRadioButtonMenuItem("Radio 1");   JRadioButtonMenuItem specialRadio2 = new JRadioButtonMenuItem("Radio 2");   ButtonGroup buttonGroup = new ButtonGroup();   public SwingWinMenus() {     super("");     fileMenu.add(fileNew);     fileMenu.add(fileOpen);     fileMenu.add(fileSave);     fileMenu.add(fileExit);     editMenu.add(editCut);     editMenu.add(editCopy);     editMenu.add(editPaste);     specialMenu.add(specialCheck1);     specialMenu.add(specialCheck2);     specialMenu.add(separator);     buttonGroup.add(specialRadio1);     buttonGroup.add(specialRadio2);     specialMenu.add(specialRadio1);     specialMenu.add(specialRadio2);     menuBar.add(fileMenu);     menuBar.add(editMenu);     menuBar.add(specialMenu);     setJMenuBar(menuBar);     frameContainer = getContentPane();     frameContainer.setLayout(null);     textField.setBounds(100, 100, 100, 20);     frameContainer.add(textField);     setupEventHandlers();     setSize(450, 450);     setVisible(true);   }   void setupEventHandlers() {     addWindowListener(new WindowHandler());     fileNew.addActionListener(new MenuItemHandler());     fileOpen.addActionListener(new MenuItemHandler());     fileSave.addActionListener(new MenuItemHandler());     fileExit.addActionListener(new MenuItemHandler());     editCut.addActionListener(new MenuItemHandler());     editCopy.addActionListener(new MenuItemHandler());     editPaste.addActionListener(new MenuItemHandler());     specialCheck1.addItemListener(new ItemHandler());     specialCheck2.addItemListener(new ItemHandler());     specialRadio1.addItemListener(new ItemHandler());     specialRadio2.addItemListener(new ItemHandler());   }   public static void main(String[] args) {     SwingWinMenus app = new SwingWinMenus();   }   public class WindowHandler extends WindowAdapter {     public void windowClosing(WindowEvent e) {       System.exit(0);     }   }   public class MenuItemHandler implements ActionListener {     public void actionPerformed(ActionEvent e) {       String cmd = e.getActionCommand();       if (cmd.equals("Exit"))         System.exit(0);       else         textField.setText(cmd);     }   }   public class ItemHandler implements ItemListener {     public void itemStateChanged(ItemEvent e) {       AbstractButton button = (AbstractButton) e.getItem();       String label = button.getText();       if (button.isSelected())         label += " true";       else         label += " false";       textField.setText(label);     }   } }