⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 popupmenutest.java

📁 Java程序设计技巧与开发实例附书源代码。
💻 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 + -