功能:在框架上添加一个鼠标监听,当点击鼠标右键的时候,在鼠标位置显示弹出式菜单
我这里用的是内部类
继承MouseAdapter 重新了click方法
当然,你也可以直接实现mouselistenger接口
学习的新东西:Adapter 的使用 内部类的构建
源码
package homework;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
/右键弹出式菜单
public class test3 {
JFrame f;
JPopupMenu jpm;
JMenuItem jm[] = new JMenuItem[3];
public test3() {
f = new JFrame();
f.setTitle("右键弹出式菜单");
jpm = new
JPopupMenu("弹出式菜单demo");
f.addMouseListener(new
myListener());
for (int i = 0; i
< jm.length; i++) {
jm[i] = new
JMenuItem(i + "");
jpm.add(jm[i]);
}
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setBounds(f.getToolkit().getScreenSize().width
/ 2 - 150, f
.getToolkit().getScreenSize().height
/ 2 - 150, 300, 300);
f.setVisible(true);
}
//
/内部类,继承了鼠标适应器重写了点击方法
class myListener extends MouseAdapter {
public void
mouseClicked(MouseEvent e) {
super.mouseClicked(e);
//
System.out.println("aaa");
if
(e.getButton() == MouseEvent.BUTTON3) {
jpm.show(f,
e.getX(), e.getY());
//
System.out.println("aaa");
}
}
}
public static void main(String[] args) {
new test3();
}
}