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

📄 frame1.java

📁 jbuilder2005
💻 JAVA
字号:
package popupmenutest;

import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;

public class Frame1
    extends JFrame {
  JPanel contentPane;
  Label label1 = new Label();
  PopupMenu popupMenu1 = new PopupMenu();
  MenuItem menuItem1 = new MenuItem();
  MenuItem menuItem2 = new MenuItem();
  MenuItem menuItem3 = new MenuItem();
  public Frame1() {
    try {
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      jbInit();
    }
    catch (Exception exception) {
      exception.printStackTrace();
    }
  }

  /**
   * Component initialization.
   *
   * @throws java.lang.Exception
   */
  private void jbInit() throws Exception {
    contentPane = (JPanel) getContentPane();
    contentPane.setLayout(null);
    setSize(new Dimension(300, 150));
    setTitle("弹出菜单");
    label1.setAlignment(Label.CENTER);
    label1.setBackground(Color.yellow);
    label1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 24));
    label1.setText("我喜欢Java");
    label1.setBounds(new Rectangle(31, 24, 242, 22));
    label1.addMouseListener(new Frame1_label1_mouseAdapter(this));
    menuItem1.setLabel("左对齐");
    menuItem1.addActionListener(new Frame1_menuItem1_actionAdapter(this));
    menuItem2.setLabel("居中");
    menuItem2.addActionListener(new Frame1_menuItem2_actionAdapter(this));
    menuItem3.setLabel("右对齐");
    menuItem3.addActionListener(new Frame1_menuItem3_actionAdapter(this));
    contentPane.add(label1);
    popupMenu1.add(menuItem1);
    popupMenu1.add(menuItem2);
    popupMenu1.add(menuItem3);
    this.add(popupMenu1);             //添加弹出菜单
//或:  contentPane.add(popupMenu1);
  }

  public void menuItem1_actionPerformed(ActionEvent e) {
      label1.setAlignment(label1.LEFT);    //左对齐
  }

  public void menuItem2_actionPerformed(ActionEvent e) {
      label1.setAlignment(label1.CENTER);    //居中
  }

  public void menuItem3_actionPerformed(ActionEvent e) {
      label1.setAlignment(label1.RIGHT);    //右对齐
  }

  public void label1_mouseClicked(MouseEvent e) {
      popupMenu1.show(label1,e.getX(),e.getY());    //在鼠标当前位置显示弹出菜单
  }
}

class Frame1_label1_mouseAdapter
    extends MouseAdapter {
  private Frame1 adaptee;
  Frame1_label1_mouseAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e) {
    adaptee.label1_mouseClicked(e);
  }
}

class Frame1_menuItem1_actionAdapter
    implements ActionListener {
  private Frame1 adaptee;
  Frame1_menuItem1_actionAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.menuItem1_actionPerformed(e);
  }
}

class Frame1_menuItem2_actionAdapter
    implements ActionListener {
  private Frame1 adaptee;
  Frame1_menuItem2_actionAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.menuItem2_actionPerformed(e);
  }
}

class Frame1_menuItem3_actionAdapter
    implements ActionListener {
  private Frame1 adaptee;
  Frame1_menuItem3_actionAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.menuItem3_actionPerformed(e);
  }
}

⌨️ 快捷键说明

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