📄 swing13_14.java
字号:
/**
* ClassName: Swing13_14.class
* Description: 菜单
* Copyright: Copyright (c) 2002
* Company: 中国青年出版社
* @author: Hong Yi
* @version 1.0
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
class MyFrame extends JFrame
implements ActionListener
{
public MyFrame()
{
setTitle("Swing示例程序14");
setSize(300, 200);
setLocation(100,100);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ System.exit(0);
}
});
myPanel = new MyPanel();
getContentPane().add(myPanel, "Center");
//新建一个菜单栏
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
//新建一个菜单对象
JMenu fileMenu = new JMenu("File");
//添加一个菜单项
fileMenu.add(new JMenuItem("New"));
//添加一个子菜单
JMenu openMenu = new JMenu("Open");
openMenu.add(new JMenuItem("TxtFile"));
openMenu.add(new JMenuItem("DocFile"));
JMenuItem javaFileItem = new JMenuItem("JavaFile");
openMenu.add(javaFileItem);
javaFileItem.addActionListener(this);
fileMenu.add(openMenu);
menuBar.add(fileMenu);
//新建一个菜单
JMenu findMenu = new JMenu("Find");
//设置助记符
findMenu.setMnemonic('F');
//新建7个不同的菜单项
findMenu.add(new JMenuItem());
ImageIcon icon = new ImageIcon("images/middle.gif");
findMenu.add(new JMenuItem(icon));
findMenu.add(new JMenuItem("File"));
findMenu.add(new JMenuItem("Directory", icon));
JMenuItem pcItem = new JMenuItem("PC", 'P');
pcItem.addActionListener(this);
findMenu.add(pcItem);
//新建一个分隔线
findMenu.addSeparator();
JMenuItem gp = new JMenuItem("Group");
//为group菜单项增加快捷键
gp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G, InputEvent.CTRL_MASK));
gp.addActionListener(this);
findMenu.add(gp);
menuBar.add(findMenu);
}
public void actionPerformed(ActionEvent evt)
{
if (evt.getSource() instanceof JMenuItem)
//判断事件源是否为菜单项
{
String itemName = evt.getActionCommand();
if (itemName.equals("JavaFile"))
{
myPanel.setMsg("You've pressed menu : JavaFile");
}
else if (itemName.equals("PC"))
{
myPanel.setMsg("You've pressed menu : PC");
}
else if (itemName.equals("Group"))
{
myPanel.setMsg("You've pressed menu : Group");
}
}
}
private MyPanel myPanel;
}
class MyPanel extends JPanel
{
public MyPanel()
{
szShowMsg = "";
}
public void setMsg(String szMsg)
{
szShowMsg = szMsg;
repaint();
}
//绘制信息
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawString(szShowMsg, 20, 20);
}
private String szShowMsg;
}
public class Swing13_14
{
public static void main(String[] args)
{
JFrame frame = new MyFrame();
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -