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

📄 popupdemo.java

📁 Swing组件
💻 JAVA
字号:
//==============================================================
// PopupDemo.java - Demonstrate popup menus
//
// Java学习源代码检索系统 Ver 1.0 20031015 免费正式版
// 版权所有: 中国IT认证实验室(www.ChinaITLab.com)
// 程序制作: ChinaITLab网校教研中心
// 主页地址: www.ChinaITLab.com    中国IT认证实验室
// 论坛地址: bbs.chinaitlab.com  
// 电子邮件: Java@ChinaITLab.com
//==============================================================

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class PopupDemo 
 extends JFrame implements ActionListener {

 // This is the popup menu object
 protected JPopupMenu popupMenu;

 // These are the popup menu items
 protected JMenuItem openMenuItem;
 protected JMenuItem saveMenuItem;
 protected JMenuItem closeMenuItem;
 protected JMenuItem exitMenuItem;

 // Inner class pops up the menu when the proper mouse
 // click or release is detected for the current look and feel
 class PopupHandler extends MouseAdapter {
  public void mousePressed(MouseEvent e) {
   if (e.isPopupTrigger())
    popupMenu.show(e.getComponent(), e.getX(), e.getY());
  }
  public void mouseReleased(MouseEvent e) {
   if (e.isPopupTrigger())
    popupMenu.show(e.getComponent(), e.getX(), e.getY());
  }
 } 

 // Create the popup menu and its commands
 private void createPopupMenu() {
  popupMenu = new JPopupMenu();
  openMenuItem = new JMenuItem("Open");
  openMenuItem.addActionListener(this);
  popupMenu.add(openMenuItem);
  saveMenuItem = new JMenuItem("Save");
  saveMenuItem.addActionListener(this);
  popupMenu.add(saveMenuItem);
  closeMenuItem = new JMenuItem("Close");
  closeMenuItem.addActionListener(this);
  popupMenu.add(closeMenuItem);
  popupMenu.addSeparator();
  exitMenuItem = new JMenuItem("Exit");
  exitMenuItem.addActionListener(this);
  popupMenu.add(exitMenuItem);

  // Register frame listener so menu pops on the
  // proper mouse click depending on the look and feel
  addMouseListener(new PopupHandler());
 }

 // Constructor
 public PopupDemo() {

  // Select local system look and feel
  try {
   UIManager.setLookAndFeel(
    UIManager.getSystemLookAndFeelClassName());
  } catch (Exception e) { }

  // End program when window closes
  addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
    System.exit(0);
   }
  });

  createPopupMenu();
  Container content = getContentPane();
  content.add(new JLabel("Click inside the window"));
 }

 // All popup menu items are registered on this event handler
 public void actionPerformed(ActionEvent e) {
  JMenuItem menuItem = (JMenuItem)e.getSource();
  
  // Show selected command text (just for demonstration)
  JOptionPane.showMessageDialog(this, 
   "Command: " + menuItem.getText());

  // Find out which command was selected
  if (menuItem.equals(openMenuItem)) {
   // ... do open command
  }
  if (menuItem.equals(saveMenuItem)) {
   // ... do save command
  }
  if (menuItem.equals(closeMenuItem)) {
   // ... do close command
  }
  if (menuItem.equals(exitMenuItem)) {
   System.exit(0);  // Only implemented command
  }
 }

 public static void main(String[] args) {
  PopupDemo app = new PopupDemo();
  app.setTitle("Popup Menu Demonstration");
  app.setSize(320, 240);
  app.show();
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -