Java 如何测试我的jradiomenubuttonit';这就是我想要的价值
如果它是我选择的值,那么测试我的返回值的最佳方法是什么?不知何故,我被如何获得选择值的概念所困扰 我的函数现在所做的是,我在GUI中添加了我想要的所有按钮,并根据单击的按钮返回值菜单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
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