?? menucontrol.java
字號:
/*2005.5
菜單控制
devilyx
*/
import java.awt.*;
import java.awt.event.*;
public class fileclose //定義主類
{
public static void main(String args[])
{
MyMenuFrame mf = new MyMenuFrame();
mf.setSize(new Dimension(300,200)); //用setSize()方法指定窗口的初始大小
mf.setVisible(true); //使窗口可見
}
}
class MyMenuFrame extends Frame implements ActionListener,TextListener// //定義窗口
{
MenuBar m_MenuBar;
Menu menuFile,menuEdit,menuHelp;
MenuItem pi_close,pi_open,pi_exit;
TextArea ta;
boolean textMod=false;
String orgMsg="原始信息";
Button confirmBtn,denyBtn,q;
Dialog conDialog;
MyMenuFrame() //構造函數
{
super("菜單窗口"); //指定窗口標題
confirmBtn=new Button("yes");
denyBtn=new Button("no");
q=new Button("q");
confirmBtn.addActionListener(this);
denyBtn.addActionListener(this);
q.addActionListener(this);
q.setActionCommand("q");
Panel p3=new Panel();
ta=new TextArea(5,15);
ta.setText(orgMsg);
ta.addTextListener(this);
//ta.addFocusListener(this);
this.add(p3);
p3.add("Center",q);
p3.add("South",ta);
m_MenuBar = new MenuBar();//創建菜單條
menuFile = new Menu("文件");//創建菜單項,創建菜單子項并指定快捷鍵
menuEdit = new Menu("編輯");
menuHelp = new Menu("幫助");
pi_open = new MenuItem(" open ");
pi_open.addActionListener(this);
pi_open.setActionCommand("open");
pi_close = new MenuItem(" close ");
pi_close.addActionListener(this);
pi_close.setActionCommand("close");
pi_exit = new MenuItem(" exit ");
pi_exit.addActionListener(this);
pi_exit.setActionCommand("exit");
menuFile.add(pi_open);
menuFile.add(pi_close);
menuFile.addSeparator();
menuFile.add(pi_exit);
m_MenuBar.add(menuFile);
m_MenuBar.add(menuEdit);
m_MenuBar.add(menuHelp);
this.setMenuBar(m_MenuBar);
addWindowListener(new closeWindow());
}
public void actionPerformed(ActionEvent e)//響應動作事件
{
if(e.getSource()==confirmBtn)
{
ta.setText(ta.getText());
textMod=false;
conDialog.dispose();
}
else if(e.getSource()==denyBtn)
{
ta.setText(orgMsg);
textMod=false;
conDialog.dispose();
}
else if(e.getActionCommand()=="exit")//選擇"退出"菜單則關閉窗口退出程序
{
dispose();
System.exit(0);
}
else if(e.getActionCommand()=="q" )
{
if(textMod)
{
conDialog=new Dialog(this,"確認修改",true);
Panel p1=new Panel();
p1.add(new Label("確定修改文本內容?"));
conDialog.add("Center",p1);
Panel p2=new Panel();
p2.add(confirmBtn);
p2.add(denyBtn);
conDialog.add("South",p2);
conDialog.setSize(200,100);
conDialog.show();
}
}
}
public void textValueChanged(TextEvent e)//響應CheckboxMenuItem單擊事件
{
textMod=true;
}
class closeWindow extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
Frame frm=(Frame)e.getWindow();
frm.dispose();
System.exit(0);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -