📄 usemenu.java
字号:
import java.awt.*;
import java.awt.event.*;
public class UseMenu
{
public static void main(String args[])
{
Frame1 mf=new Frame1();
mf.setSize(new Dimension(300,200));
mf.setVisible(true);
}
}
class Frame1 extends Frame implements ActionListener,ItemListener
{
MenuBar m_MenuBar;
Menu menuFile,menuEdit,m_Edit_paste;
MenuItem mi_File_Open,mi_File_Close,mi_File_Exit,mi_Edit_Copy;
MenuItem pi_New,pi_Del,mi_Paste_All,mi_Paste_Part;
CheckboxMenuItem mi_Edit_Cut;
PopupMenu popM;
TextArea ta;
Frame1()
{
super("拥有菜单的窗口");
ta=new TextArea("\n\n\n\n\n\t\t\t没有选择",5,20);
ta.addMouseListener(new HandleMouse(this));
add("Center",ta);
popM=new PopupMenu();
pi_New=new MenuItem(" 新建 ");
pi_New.addActionListener(this);
popM.add(pi_New);
pi_Del=new MenuItem(" 删除 ");
pi_Del.addActionListener(this);
popM.add(pi_Del);
pi_Pro=new MenuItem(" 属性 ");
pi_Pro.addActionListener(this);
popM.add(pi_Pro);
ta.add(popM);
m_MenuBar=new MenuBar();
menuFile=new Menu("文件");
MenuItem mi_File_Open=new MenuItem("打开",new MenuShortcut('o'));
MenuItem mi_File_Close=new MenuItem("关闭",new MenuShortcut('c'));
MenuItem mi_File_Exit=new MenuItem("退出",new MenuShortcut('x'));
mi_File_Open.setActionCommand("打开");
mi_File_Close.setActionCommand("关闭");
mi_File_Exit.setActionCommand("退出");
mi_File_Open.addActionListener(this);
mi_File_Close.addActionListener(this);
mi_File_Exit.addActionListener(this);
menuFile.add(mi_File_Open);
menuFile.add(mi_File_Close);
menuFile.addSeparator();
menuFile.add(mi_File_Exit);
m_MenuBar.add(menuFile);
menuEdit=new Menu("编辑");
mi_Edit_Copy=new MenuItem("复制");
mi_Edit_Cut=new CheckboxMenuItem("剪切");
mi_Edit_Paste=new Menu("粘贴");
mi_Paste_All=new MenuItem("全部粘贴");
mi_Paste_Part=new MenuItem("部分粘贴");
mi_Edit_Copy.addActionListener(this);
mi_Edit_Cut.addItemListener(this);
m_Edit_Paste.add(mi_Paste_All);
m_Edit_Paste.add(mi_Paste_Part);
mi_Paste_All.addActionListener(this);
mi_Paste_Part.addActionListener(this);
menuEdit.add(mi_Edit_Copy);
menuEdit.add(mi_Edit_Cut);
menuEdit.addSeparator();
m_MenuBar.add(menuEdit);
this.setMenuBar(m_MenuBar);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="退出")
{
dispose();
System.exit(0);
}
else
ta.setText("\n\n\n\n\n\t\t\t"+e.getActionCommand());
}
public void itemStateChanged(ItemEvent e)
{
if(e.getSource()==mi_Edit_Cut)
if(((CheckboxMenuItem)e.getSource()).getState())
ta.setText("\n\n\n\n\n\t\t\t"+"选择了"+((CheckboxMenuItem)e.getSource()).getLabel());
else
ta.setText("\n\n\n\n\n\t\t\t"+"未选择"+((CheckboxMenuItem)e.getSource()).getLabel());
}
}
class HandleMouse extends MouseAdapter
{
Frame1 m_Parent;
HandleMouse(Frame1 mf)
{
m_Parent=mf;
}
public void mouseReleased(MouseEvent e)
{
if(e.isPopupTrigger())
m_Parent.popM.show((Component)e.getSource(),e.getX(),e.getY());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -