推 shevchenlun:先謝謝你!!不過"單選"不是打錯~我是真的要單選的Menu 11/20 23:34
※ 編輯: tzeng0401 來自: 59.105.89.169 (11/21 00:16)
※ 編輯: tzeng0401 來自: 59.105.89.169 (11/21 00:21)
※ 引述《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