Java by API/javax.swing/JRadioButtonMenuItem

Материал из Java эксперт
Перейти к: навигация, поиск

JRadioButtonMenuItem: setAccelerator(KeyStroke key)

   <source lang="java">

import java.awt.Event; 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.KeyStroke; public class MainClass extends JFrame {

 public MainClass() {
   setDefaultCloseOperation(EXIT_ON_CLOSE);
   setJMenuBar(menuBar);
   JMenu fileMenu = new JMenu("File");
   JMenu elementMenu = new JMenu("Elements");
   fileMenu.setMnemonic("F");
   elementMenu.setMnemonic("E");
   // Construct the file pull down menu
   newItem = fileMenu.add("New");
   openItem = fileMenu.add("Open");
   closeItem = fileMenu.add("Close");
   fileMenu.addSeparator();
   saveItem = fileMenu.add("Save");
   saveAsItem = fileMenu.add("Save As...");
   JMenu colorMenu = new JMenu("Color");
   fileMenu.addSeparator();
   printItem = fileMenu.add("Print");
   newItem.setAccelerator(KeyStroke.getKeyStroke("N", Event.CTRL_MASK));
   openItem.setAccelerator(KeyStroke.getKeyStroke("O", Event.CTRL_MASK));
   saveItem.setAccelerator(KeyStroke.getKeyStroke("S", Event.CTRL_MASK));
   printItem.setAccelerator(KeyStroke.getKeyStroke("P", Event.CTRL_MASK));
   elementMenu.add(lineItem = new JRadioButtonMenuItem("Line", true));
   elementMenu
       .add(rectangleItem = new JRadioButtonMenuItem("Rectangle", false));
   elementMenu.add(circleItem = new JRadioButtonMenuItem("Circle", false));
   elementMenu.add(curveItem = new JRadioButtonMenuItem("Curve", false));
   ButtonGroup types = new ButtonGroup();
   types.add(lineItem);
   types.add(rectangleItem);
   types.add(circleItem);
   types.add(curveItem);
   lineItem.setAccelerator(KeyStroke.getKeyStroke("L", Event.CTRL_MASK));
   rectangleItem.setAccelerator(KeyStroke.getKeyStroke("E", Event.CTRL_MASK));
   circleItem.setAccelerator(KeyStroke.getKeyStroke("I", Event.CTRL_MASK));
   curveItem.setAccelerator(KeyStroke.getKeyStroke("V", Event.CTRL_MASK));
   elementMenu.addSeparator();
   elementMenu.add(colorMenu); // Add the sub-menu
   colorMenu.add(redItem = new JCheckBoxMenuItem("Red", false));
   colorMenu.add(yellowItem = new JCheckBoxMenuItem("Yellow", false));
   colorMenu.add(greenItem = new JCheckBoxMenuItem("Green", false));
   colorMenu.add(blueItem = new JCheckBoxMenuItem("Blue", true));
   // Add element color accelerators
   redItem.setAccelerator(KeyStroke.getKeyStroke("R", Event.CTRL_MASK));
   yellowItem.setAccelerator(KeyStroke.getKeyStroke("Y", Event.CTRL_MASK));
   greenItem.setAccelerator(KeyStroke.getKeyStroke("G", Event.CTRL_MASK));
   blueItem.setAccelerator(KeyStroke.getKeyStroke("B", Event.CTRL_MASK));
   menuBar.add(fileMenu);
   menuBar.add(elementMenu);
 }
 private JMenuBar menuBar = new JMenuBar();
 // File menu items
 private JMenuItem newItem, openItem, closeItem, saveItem, saveAsItem,
     printItem;
 // Element menu items
 private JRadioButtonMenuItem lineItem, rectangleItem, circleItem, curveItem,
     textItem;
 private JCheckBoxMenuItem redItem, yellowItem, greenItem, blueItem;
 public static void main(String[] args) {
   JFrame aWindow = new MainClass();
   aWindow.setSize(200,200);
   aWindow.setVisible(true);
 }

}


 </source>
   
  
 
  



JRadioButtonMenuItem: setFont(Font font)

   <source lang="java">
 

import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JRadioButtonMenuItem; public class Main extends JFrame {

 public static final String FontName[] = { "Serif", "SansSerif", "Courier" };
 private Font[] fonts = new Font[FontName.length];
 protected JMenuItem[] fontMenus;
 public Main() {
   super();
   setSize(450, 350);    
   for (int k = 0; k < FontName.length; k++)
     fonts[k] = new Font(FontName[k], Font.PLAIN, 12);
   JMenuBar menuBar = createMenuBar();
   setJMenuBar(menuBar);
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   setVisible(true);
 }
 protected JMenuBar createMenuBar() {
   final JMenuBar menuBar = new JMenuBar();
   JMenu mFont = new JMenu("Font");
   mFont.setMnemonic("o");
   ButtonGroup group = new ButtonGroup();
   fontMenus = new JMenuItem[FontName.length];
   for (int k = 0; k < FontName.length; k++) {
     int m = k + 1;
     fontMenus[k] = new JRadioButtonMenuItem(m + " " + FontName[k]);
     boolean selected = (k == 0);
     fontMenus[k].setSelected(selected);
     fontMenus[k].setMnemonic("1" + k);
     fontMenus[k].setFont(fonts[k]);
     fontMenus[k].addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent arg0) {
         System.out.println(((JComponent) arg0.getSource())
             .getFont());
       }
     });
     group.add(fontMenus[k]);
     mFont.add(fontMenus[k]);
   }
   menuBar.add(mFont);
   return menuBar;
 }
 public static void main(String argv[]) {
   new Main();
 }

}


 </source>
   
  
 
  



JRadioButtonMenuItem: setMnemonic(int mnemonic)

   <source lang="java">
 

import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JRadioButtonMenuItem; public class Main extends JFrame {

 public static final String FontName[] = { "Serif", "SansSerif", "Courier" };
 private Font[] fonts = new Font[FontName.length];
 protected JMenuItem[] fontMenus;
 public Main() {
   super();
   setSize(450, 350);    
   for (int k = 0; k < FontName.length; k++)
     fonts[k] = new Font(FontName[k], Font.PLAIN, 12);
   JMenuBar menuBar = createMenuBar();
   setJMenuBar(menuBar);
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   setVisible(true);
 }
 protected JMenuBar createMenuBar() {
   final JMenuBar menuBar = new JMenuBar();
   JMenu mFont = new JMenu("Font");
   mFont.setMnemonic("o");
   ButtonGroup group = new ButtonGroup();
   fontMenus = new JMenuItem[FontName.length];
   for (int k = 0; k < FontName.length; k++) {
     int m = k + 1;
     fontMenus[k] = new JRadioButtonMenuItem(m + " " + FontName[k]);
     boolean selected = (k == 0);
     fontMenus[k].setSelected(selected);
     fontMenus[k].setMnemonic("1" + k);
     fontMenus[k].setFont(fonts[k]);
     fontMenus[k].addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent arg0) {
         System.out.println(((JComponent) arg0.getSource())
             .getFont());
       }
     });
     group.add(fontMenus[k]);
     mFont.add(fontMenus[k]);
   }
   menuBar.add(mFont);
   return menuBar;
 }
 public static void main(String argv[]) {
   new Main();
 }

}


 </source>
   
  
 
  



JRadioButtonMenuItem: setSelected(boolean b)

   <source lang="java">
 

import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JRadioButtonMenuItem; public class Main extends JFrame {

 public static final String FontName[] = { "Serif", "SansSerif", "Courier" };
 private Font[] fonts = new Font[FontName.length];
 protected JMenuItem[] fontMenus;
 public Main() {
   super();
   setSize(450, 350);    
   for (int k = 0; k < FontName.length; k++)
     fonts[k] = new Font(FontName[k], Font.PLAIN, 12);
   JMenuBar menuBar = createMenuBar();
   setJMenuBar(menuBar);
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   setVisible(true);
 }
 protected JMenuBar createMenuBar() {
   final JMenuBar menuBar = new JMenuBar();
   JMenu mFont = new JMenu("Font");
   mFont.setMnemonic("o");
   ButtonGroup group = new ButtonGroup();
   fontMenus = new JMenuItem[FontName.length];
   for (int k = 0; k < FontName.length; k++) {
     int m = k + 1;
     fontMenus[k] = new JRadioButtonMenuItem(m + " " + FontName[k]);
     boolean selected = (k == 0);
     fontMenus[k].setSelected(selected);
     fontMenus[k].setMnemonic("1" + k);
     fontMenus[k].setFont(fonts[k]);
     fontMenus[k].addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent arg0) {
         System.out.println(((JComponent) arg0.getSource())
             .getFont());
       }
     });
     group.add(fontMenus[k]);
     mFont.add(fontMenus[k]);
   }
   menuBar.add(mFont);
   return menuBar;
 }
 public static void main(String argv[]) {
   new Main();
 }

}


 </source>
   
  
 
  



new JRadioButtonMenuItem(String text)

   <source lang="java">

import java.awt.event.KeyEvent; import javax.swing.ButtonGroup; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JRadioButtonMenuItem; public class MainClass {

 public static void main(String args[]) {
   JFrame f = new JFrame("JRadioButtonMenuItem Sample");
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JMenuBar bar = new JMenuBar();
   JMenu menu = new JMenu("Options");
   menu.setMnemonic(KeyEvent.VK_O);
   ButtonGroup group = new ButtonGroup();
   JRadioButtonMenuItem menuItem = new JRadioButtonMenuItem("A");
   group.add(menuItem);
   menu.add(menuItem);
   menuItem = new JRadioButtonMenuItem("B");
   group.add(menuItem);
   menu.add(menuItem);
   menuItem = new JRadioButtonMenuItem("C");
   group.add(menuItem);
   menu.add(menuItem);
   bar.add(menu);
   f.setJMenuBar(bar);
   f.setSize(300, 200);
   f.setVisible(true);
 }

}


 </source>