📄 popupmenutest.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class PopupMenuTest
extends JFrame
implements ActionListener {
private JPopupMenu file = new JPopupMenu();
private JMenuItem fileOpen = new JMenuItem("Open");
private JMenuItem fileSave = new JMenuItem("Save");
private JMenuItem fileExit = new JMenuItem("Exit");
private JPopupMenu options = new JPopupMenu();
private JMenuItem optionsSpell = new JMenuItem("Spell Check");
private JMenuItem optionsSecret = new JMenuItem("Show Codes");
private class FilePopupListener
extends MouseAdapter {
private JComponent owner;
public FilePopupListener(JComponent _owner) {
owner = _owner;
}
public void mousePressed(MouseEvent me) {
if (SwingUtilities.isRightMouseButton(me)) {
PopupMenuTest.this.file.show(owner, me.getX(), me.getY());
}
}
}
private class OptionsPopupListener
extends MouseAdapter {
private JComponent owner;
public OptionsPopupListener(JComponent _owner) {
owner = _owner;
}
public void mousePressed(MouseEvent me) {
if (SwingUtilities.isRightMouseButton(me)) {
PopupMenuTest.this.options.show(owner, me.getX(), me.getY());
}
}
}
public PopupMenuTest() {
super("Popup Menu Test");
JPanel top = new JPanel(new FlowLayout());
top.add(new JLabel("This is one particular panel"));
top.setBorder(new EtchedBorder(EtchedBorder.LOWERED));
JPanel bottom = new JPanel(new FlowLayout());
bottom.add(new JLabel("This is another panel"));
bottom.setBorder(new EtchedBorder(EtchedBorder.LOWERED));
file.add(fileOpen);
file.add(fileSave);
file.add(new JPopupMenu.Separator());
file.add(fileExit);
fileExit.addActionListener(this);
options.add(optionsSpell);
options.add(optionsSecret);
top.addMouseListener(new FilePopupListener(top));
bottom.addMouseListener(new OptionsPopupListener(bottom));
getContentPane().setLayout(new GridLayout(2, 1));
getContentPane().add(top);
getContentPane().add(bottom);
validate();
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
System.exit(0);
}
public static void main(String args[]) {
PopupMenuTest pmt = new PopupMenuTest();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -