请问如何在JButton上弹出popupmenu,我做的怎么只能看到一个点。而在JPanel中确能正确弹出。 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没发现你说的问题,下面的程序你可以直接运行。import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;public class TestButtonPopMenu { static JPopupMenu popmenu = new JPopupMenu(); static { for (int i=0; i<5; i++) { popmenu.add("MenuItem " + Integer.toString(i)); } } public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container container = frame.getContentPane(); // 按钮 JButton bn = new JButton("PopupMenu"); bn.addMouseListener( new MouseAdapter(){ public void mouseReleased(MouseEvent me){ // 去掉下面的注释,可以只在右键单击时弹出菜单 //if (me.isPopupTrigger()) { popmenu.show( me.getComponent(), me.getX(), me.getY()); //} } }); JPanel pane = new JPanel(); pane.add(bn); pane.setBorder( new EmptyBorder(20, 20, 20, 20)); container.add(pane); frame.pack(); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); int x = (screen.width - frame.getWidth()) / 2; int y = (screen.height - frame.getHeight()) / 2; frame.setLocation(x, y); frame.setVisible(true); }} 呵呵,谢谢。不好意思了,我的button里忘记add(popupmenu)了。不过现在新的问题是:我在按钮中按右键菜单出来后,再当我按下快捷菜单的一个选项时,我怎么取得这个button实例。比如我按右键->改变颜色,然后button a的颜色就被改变,button a 要怎么取得啊。 me.getComponent()得到的就是当前的JButton java风扇程序 【JAVA POI】excel插入Time问题 类型转换:oxFFFFFFF1怎么转化为十六进制的! 用exe4j生成的可执行程序怎么在没有jre的机器上运行? 提个问题(Applet) 那个哥们能写后缀树的算法,或者是后缀数组的算法!,高分相谢 我是刚开始学JAVA,用的是NETBEANS3.5.1?想请教! 我快疯了!50分求JB5中配置TOMCAT4.01的方法...请进... HelloWorld,我的第一个java程序出错!帮忙看一下! 我是一名初学者,各位给点指导! 网页上一部分中文显示空白是什么问题? 在结果集中,是否有统计数量的命令?
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;public class TestButtonPopMenu {
static JPopupMenu popmenu = new JPopupMenu();
static {
for (int i=0; i<5; i++) {
popmenu.add("MenuItem " + Integer.toString(i));
}
} public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container container = frame.getContentPane(); // 按钮
JButton bn = new JButton("PopupMenu");
bn.addMouseListener(
new MouseAdapter(){
public void mouseReleased(MouseEvent me){
// 去掉下面的注释,可以只在右键单击时弹出菜单
//if (me.isPopupTrigger()) {
popmenu.show(
me.getComponent(),
me.getX(), me.getY());
//}
}
}); JPanel pane = new JPanel();
pane.add(bn);
pane.setBorder(
new EmptyBorder(20, 20, 20, 20)); container.add(pane);
frame.pack(); Dimension screen =
Toolkit.getDefaultToolkit().getScreenSize();
int x = (screen.width - frame.getWidth()) / 2;
int y = (screen.height - frame.getHeight()) / 2; frame.setLocation(x, y); frame.setVisible(true);
}
}