作者tzeng0401 (Leo)
看板java
标题Re: [问题] AWT Menu 单选问题~
时间Thu Nov 20 18:22:35 2008
※ 引述《shevchenlun (葛利)》之铭言:
: 在 AWT 中要怎麽实现 Menu 的单选功能??
: 有人知道吗??
: 千万不要跟我说换用 JCheckBoxMenuItem
: 我就是要用 AWT 的 Menu
: 希望大家帮帮我!!
CheckBoxMenuItem 应该是你要的东西吧...
这次修改过了,参考看看...有错误再指正...
import java.awt.CheckboxMenuItem;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class AWTExample implements ActionListener , ItemListener {
private boolean openState=false;
public AWTExample(){
//产生 Frame
Frame f = new Frame("AWT 范例");
//产生 MenuBar
MenuBar menubar = new MenuBar();
/* 产生 File 的 Menu 以及里面的 MenuItem 、、
CheckboxMenuItem 和聆听相关的事件 */
Menu fileMenu = new Menu("File");
CheckboxMenuItem opencheckboxMenuItem = new CheckboxMenuItem("Open");
fileMenu.add(opencheckboxMenuItem);
menubar.add(fileMenu);
opencheckboxMenuItem.addItemListener(this);
//产生 Edit 的 Menu 以及里面的 MenuItem 和聆听相关的事件
Menu editMenu = new Menu("Edit");
MenuItem undoItem = new MenuItem("Undo");
MenuItem redoItem = new MenuItem("Redo");
editMenu.add(undoItem);
editMenu.add(redoItem);
menubar.add(editMenu);
undoItem.addActionListener(this);
redoItem.addActionListener(this);
//聆听 WindowListener 相关的事件
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
})
;
f.setMenuBar(menubar);
f.setSize(500, 300);
f.setEnabled(true);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//点选Undo选单的事件发生之後...
if (e.getActionCommand().equals("Undo")){
//发生事件後续的处理...
System.out.println("Undo");
}
//点选Redo选单的事件发生之後...
if (e.getActionCommand().equals("Redo")){
//发生事件後续的处理...
System.out.println("Redo");
}
}
//点选Open单选的事件发生之後...
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
openState = !openState;
System.out.println(openState);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new AWTExample();
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.105.89.169
1F:推 shevchenlun:先谢谢你!!不过"单选"不是打错~我是真的要单选的Menu 11/20 23:34
※ 编辑: tzeng0401 来自: 59.105.89.169 (11/21 00:16)
※ 编辑: tzeng0401 来自: 59.105.89.169 (11/21 00:21)