JPopupMenu_1

来源:互联网 发布:mac high sierra知乎 编辑:程序博客网 时间:2024/05/21 15:38

package com.han;import java.awt.BorderLayout;import java.awt.Container;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuItem;import javax.swing.JPopupMenu;public class JPopupMenu_1 extends JFrame {/** *  */private static final long serialVersionUID = 2924353502687938030L;public JPopupMenu_1() {// TODO Auto-generated constructor stubfinal JPopupMenu popupMenu = new JPopupMenu();JMenuItem menuItem1 = new JMenuItem("剪切");JMenuItem menuItem2 = new JMenuItem("复制");JMenuItem menuItem3 = new JMenuItem("粘贴");JMenu menuSub = new JMenu ("编辑");JMenuItem menuSubItem1 = new JMenuItem("只读");JMenuItem menuSubItem2 = new JMenuItem("可写");JMenu menuSubSub = new JMenu("字体");menuSub.add(menuSubItem1);menuSub.add(menuSubItem2);menuSub.add(menuSubSub);JMenuItem menuSubSubItem1 = new JMenuItem("加粗");JMenuItem menuSubSubItem2 = new JMenuItem("倾斜");menuSubSub.add(menuSubSubItem1);menuSubSub.add(menuSubSubItem2);popupMenu.add(menuItem1);popupMenu.add(menuItem2);popupMenu.add(menuItem3);popupMenu.add(menuSub);JLabel label = new JLabel("请在这里单击鼠标右键!");Container container = getContentPane();container.add(label, BorderLayout.CENTER);// MouseAdapter (abstract class) is different from // the MouseListener (interface). The interest of the abstract class// is that we need not to override all the methods declared in // the corresponding interface.container.addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) {if (e.isPopupTrigger()) {popupMenu.show(e.getComponent(), e.getX(), e.getY());}}});}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubJPopupMenu_1 frame = new JPopupMenu_1();frame.setTitle("创建弹出式菜单");frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setBounds(100, 100, 400, 300);}}