import javax.swing.*; import java.awt.event.*; public class Hufan extends JFrame implements MouseListener{ JMenu fileMenu; JPopupMenu jm; JMenuItem openFile, closeFile, exit; JRadioButtonMenuItem copyFile, pasteFile; ButtonGroup bg; public static void main(String args[]) { new Hufan(); } public Hufan() { jm = new JPopupMenu(); bg = new ButtonGroup(); // 创建文件菜单及子菜单,并将子菜单添加到文件菜单中 fileMenu = new JMenu("文件"); openFile = new JMenuItem("打开"); closeFile = new JMenuItem("关闭"); fileMenu.add(openFile); fileMenu.add(closeFile); jm.add(fileMenu); jm.addSeparator();// 添加分割符 // 创建单选菜单项,并添加到ButtonGroup对象中 copyFile = new JRadioButtonMenuItem("复制"); pasteFile = new JRadioButtonMenuItem("粘贴"); // group 只负责维护组之间的逻辑关系 bg.add(copyFile); bg.add(pasteFile); jm.add(copyFile); jm.add(pasteFile); jm.addSeparator(); exit = new JMenuItem("退出"); jm.add(exit); // 创建监听器对象 this.addMouseListener(this);// 向主窗口注册监听器 this.setTitle("弹出式菜单的简单使用"); this.setSize(400, 300); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void mouseClicked(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void mousePressed(MouseEvent e) { if(e.getButton()==3){ jm.show(e.getComponent(), e.getX(), e.getY()); } } }
import javax.swing.*; import java.awt.event.*; public class Hufan extends JFrame implements MouseListener{ JMenu fileMenu; JPopupMenu jm; JMenuItem openFile, closeFile, exit; JRadioButtonMenuItem copyFile, pasteFile; ButtonGroup bg; public static void main(String args[]) { new Hufan(); } public Hufan() { jm = new JPopupMenu(); bg = new ButtonGroup(); // 创建文件菜单及子菜单,并将子菜单添加到文件菜单中 fileMenu = new JMenu("文件"); openFile = new JMenuItem("打开"); closeFile = new JMenuItem("关闭"); fileMenu.add(openFile); fileMenu.add(closeFile); jm.add(fileMenu); jm.addSeparator();// 添加分割符 // 创建单选菜单项,并添加到ButtonGroup对象中 copyFile = new JRadioButtonMenuItem("复制"); pasteFile = new JRadioButtonMenuItem("粘贴"); // group 只负责维护组之间的逻辑关系 bg.add(copyFile); bg.add(pasteFile); jm.add(copyFile); jm.add(pasteFile); jm.addSeparator(); exit = new JMenuItem("退出"); jm.add(exit); // 创建监听器对象 this.addMouseListener(this);// 向主窗口注册监听器 this.setTitle("弹出式菜单的简单使用"); this.setSize(400, 300); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void mouseClicked(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void mousePressed(MouseEvent e) { if(e.getButton()==3){ jm.show(e.getComponent(), e.getX(), e.getY()); } } }