Java6学习笔记24——利用Swing创建带有RadioButton的菜单

本文介绍了一个使用Java Swing创建带有单选按钮菜单项的应用程序示例。通过JRadioButtonMenuItem和ButtonGroup实现了菜单项的单选功能,并为选择的动作添加了监听器。

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

public class MenuRadiobox extends JFrame implements ActionListener {
private JRadioButtonMenuItem upMenuItem;//RadioButton的菜单项
private JRadioButtonMenuItem downMenuItem;
private JRadioButtonMenuItem leftMenuItem;
private JRadioButtonMenuItem rightMenuItem;
public static void main(String arg[]) {
MenuRadiobox ms = new MenuRadiobox();
}
public MenuRadiobox() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar = buildMenuBar();
setJMenuBar(menuBar);
setLocation(250,150);
setSize(300,200);
setVisible(true);
}
JMenuBar buildMenuBar() {
JMenuBar menuBar = new JMenuBar();

JMenu fileMenu = new JMenu("File");
fileMenu.getPopupMenu().setLightWeightPopupEnabled(false);
menuBar.add(fileMenu);

JMenuItem exitMenuItem = new JMenuItem("Exit");
exitMenuItem.addActionListener(this);
fileMenu.add(exitMenuItem);

JMenu chooseMenu = new JMenu("Choose");
fileMenu.getPopupMenu().setLightWeightPopupEnabled(false);
menuBar.add(chooseMenu);

ButtonGroup bg = new ButtonGroup();//设置单选组

upMenuItem = new JRadioButtonMenuItem("Up");
upMenuItem.addActionListener(this);
chooseMenu.add(upMenuItem);
bg.add(upMenuItem);

downMenuItem = new JRadioButtonMenuItem("Down");
downMenuItem.addActionListener(this);
chooseMenu.add(downMenuItem);
bg.add(downMenuItem);

leftMenuItem = new JRadioButtonMenuItem("Left");
leftMenuItem.addActionListener(this);
chooseMenu.add(leftMenuItem);
bg.add(leftMenuItem);

rightMenuItem = new JRadioButtonMenuItem("Right");
rightMenuItem.addActionListener(this);
chooseMenu.add(rightMenuItem);
bg.add(rightMenuItem);

return(menuBar);
}
public void actionPerformed(ActionEvent e) {
String selection = e.getActionCommand();
if(selection.equals("Exit")) {
System.exit(0);
} else if(selection.equals("Up")) {
System.out.println("The choice is Up.");
} else if(selection.equals("Down")) {
System.out.println("The choice is Down.");
} else if(selection.equals("Left")) {
System.out.println("The choice is Left.");
} else if(selection.equals("Right")) {
System.out.println("The choice is Right.");
}
}
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值