2014-02-14 1 views
1

Каков наилучший способ проверить мое возвращаемое значение, если его значение, которое я выбрал, Как-то я застрял в концепции о том, как получить выбранное значение.Как проверить, если мой jradiomenubutton это значение, которое мне нужно

Что моя функция делает прямо сейчас, что я добавил всю кнопку, которую я хотел в своем графическом интерфейсе, и я возвращаю меню значений на основе кнопки, которую я нажал.

private JMenu getOrdreMenu(){ 

    JMenu menu = new JMenu(MENU_ORDRE_TITLE); 
    ButtonGroup group = new ButtonGroup(); 

    JRadioButtonMenuItem item = new JRadioButtonMenuItem(MENU_ORDRE_NSEQC); 
      item.setSelected(true); 
    group.add(item); 
    menu.add(item); 

    item = new JRadioButtonMenuItem(MENU_ORDRE_NSEQD); 
    group.add(item); 
    menu.add(item); 

    item = new JRadioButtonMenuItem(MENU_ORDRE_FORMEC); 
    group.add(item); 
    menu.add(item); 

    item = new JRadioButtonMenuItem(MENU_ORDRE_FORMED); 
    group.add(item); 
    menu.add(item); 

    item = new JRadioButtonMenuItem(MENU_ORDRE_TYPENORMAL); 
    group.add(item); 
    menu.add(item); 

    item = new JRadioButtonMenuItem(MENU_ORDRE_TYPEINVERSE); 
    group.add(item); 
    menu.add(item); 

    item = new JRadioButtonMenuItem(MENU_ORDRE_DISTANCEC); 
    group.add(item); 
    menu.add(item); 

    add(menu); 
    return menu; 



} 

ответ

1

«Что это лучший способ, чтобы проверить мое возвращаемое значение, если его значение, которое я выбрал, как-то я застрял с концепцией о том, как получить выбрано значение ..»

Поскольку они находятся в ButtonGroup, вам не нужно проверять, выбран ли он. Каждый раз, когда выбрано , будет выбран, это будет только только. Итак, все, что вам нужно сделать, это добавить ActionListener

Кажется, вы никогда не добавляли слушателя в пункты меню. См. Этот пример, где я добавляю слушателя

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.ButtonGroup; 
import javax.swing.JFrame; 
import javax.swing.JMenu; 
import javax.swing.JMenuBar; 
import javax.swing.JRadioButtonMenuItem; 
import javax.swing.SwingUtilities; 

public class RadioMenus { 

    private static final String MENU_ORDRE_TITLE = "Tilte"; 
    private static final String MENU_ORDRE_NSEQC = "NSEQC"; 
    private static final String MENU_ORDRE_NSEQD = "NSEQD"; 
    private static final String MENU_ORDRE_FORMEC = "FORMEC"; 

    public RadioMenus() { 
     JMenuBar menubar = new JMenuBar(); 
     menubar.add(getOrdreMenu()); 

     JFrame frame = new JFrame("Menu"); 
     frame.setJMenuBar(menubar); 
     frame.setSize(300, 300); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setLocationRelativeTo(null); 
     frame.setVisible(true); 

    } 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable(){ 
      public void run() { 
       new RadioMenus(); 
      } 
     }); 
    } 

    private JMenu getOrdreMenu() { 
     MyMenuListener listener = new MyMenuListener(); 

     JMenu menu = new JMenu(MENU_ORDRE_TITLE); 
     ButtonGroup group = new ButtonGroup(); 

     JRadioButtonMenuItem item = new JRadioButtonMenuItem(MENU_ORDRE_NSEQC); 
     item.addActionListener(listener); 
     group.add(item); 
     menu.add(item); 

     JRadioButtonMenuItem item1 = new JRadioButtonMenuItem(MENU_ORDRE_NSEQD); 
     item1.addActionListener(listener); 
     group.add(item1); 
     menu.add(item1); 

     JRadioButtonMenuItem item2 = new JRadioButtonMenuItem(MENU_ORDRE_FORMEC); 
     item2.addActionListener(listener); 
     group.add(item2); 
     menu.add(item2); 

     return menu; 
    } 

    public class MyMenuListener implements ActionListener { 
     public void actionPerformed(ActionEvent e) { 
      JRadioButtonMenuItem menuItem = (JRadioButtonMenuItem)e.getSource(); 
      System.out.println(menuItem.getActionCommand()); 
     } 
    } 
} 
+0

Спасибо за помощь! : D – AndyHe