Java 如何测试我的jradiomenubuttonit';这就是我想要的价值

Java 如何测试我的jradiomenubuttonit';这就是我想要的价值,java,swing,user-interface,return,jradiobutton,Java,Swing,User Interface,Return,Jradiobutton,如果它是我选择的值,那么测试我的返回值的最佳方法是什么?不知何故,我被如何获得选择值的概念所困扰 我的函数现在所做的是,我在GUI中添加了我想要的所有按钮,并根据单击的按钮返回值菜单 private JMenu getOrdreMenu(){ JMenu menu = new JMenu(MENU_ORDRE_TITLE); ButtonGroup group = new ButtonGroup(); JRadioButtonMenuItem item = new J

如果它是我选择的值,那么测试我的返回值的最佳方法是什么?不知何故,我被如何获得选择值的概念所困扰

我的函数现在所做的是,我在GUI中添加了我想要的所有按钮,并根据单击的按钮返回值菜单

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;



}
“测试返回值的最佳方法是什么?如果它是我选择的值,不知何故,我对如何获得所选值的概念感到困惑..”

因为它们位于
按钮组中
,所以不需要检查是否选中了一个按钮。每次选择一个,它将是唯一选择的一个。因此,您只需添加一个
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());
        }
    }
}

谢谢你的帮助!:D