import java.awt.*;
class TestPopupMenu
{
public static void main(String[] args)
{
Frame f = new Frame("TestMenuComponent");
f.setSize(500,300);
f.setBackground(Color.lightGray);
MenuBar mb = new MenuBar();
f.setMenuBar(mb);
PopupMenu pm = new PopupMenu("彈出式菜單");
mb.add(pm);
/*
容易在中文狀態下打出分號,報錯提示:非法字符\65307
糾錯過程:根據Unicode,將65307換算成16進制為FF1B,查找到對應的字符為中文
狀態下的分號
*/
MenuItem m1 = new MenuItem("菜單1");
MenuItem m2 = new MenuItem("菜單2");
MenuItem m3 = new MenuItem("菜單3");
pm.add(m1);
pm.add(m2);
pm.add(m3);
//f.add(pm); 這句不能加上,否則窗口中看不到popupmenu
f.setVisible(true);
//本示例中沒有彈出效果,可能是因為沒有加入“事件監聽”
}
}在寫語句
MenuItem m1 = new MenuItem("菜單1");
時,誤在中文輸入狀態下輸入了分號,運行時報錯:非法字符 \65307
經分析,因為字符編碼是Unicode字符集,所以想到將65307化為16進制,也就是FF1B,查閱unicode字符集,找到了對應的中文輸入法下的分號,這才發現自己寫代碼時輸入錯誤!