Java 如何在netbeans可视化编辑器的JFrame中添加弹出菜单
我已经尝试在Netbeans可视化编辑器中通过设计将弹出菜单添加到JFrame中,但它不起作用。 谁能一步一步地提示我如何添加它??Java 如何在netbeans可视化编辑器的JFrame中添加弹出菜单,java,swing,user-interface,netbeans,jpopupmenu,Java,Swing,User Interface,Netbeans,Jpopupmenu,我已经尝试在Netbeans可视化编辑器中通过设计将弹出菜单添加到JFrame中,但它不起作用。 谁能一步一步地提示我如何添加它?? 非常感谢 问题在于jpopmpmenu不是最初可见或添加到容器中的组件。因此,只需将其拖放到设计视图框架中,就不会对设计视图产生视觉上的影响 但是,如果查看源代码或导航器,您将看到jpopmpmenu声明为类成员并在initComponents()方法中实例化 我自己也尝试过不同的事情,从我所尝试的来看,你似乎无法以可视化的方式设计弹出式菜单。不过,您可以使用导航
非常感谢 问题在于
jpopmpmenu
不是最初可见或添加到容器中的组件。因此,只需将其拖放到设计视图框架中,就不会对设计视图产生视觉上的影响
但是,如果查看源代码或导航器,您将看到jpopmpmenu
声明为类成员并在initComponents()
方法中实例化
我自己也尝试过不同的事情,从我所尝试的来看,你似乎无法以可视化的方式设计弹出式菜单。不过,您可以使用导航器进行设计
jpopmpmenu1
。您可以添加JMenus
或JMenuItems
,方法是右键单击它并从调色板中选择add
JMenuItem
并选择Events->Actions->actionPerformed
将侦听器添加到JMenuItem
jpopumenu
显示,您需要向组件添加MouseListener
,无论是框架还是其他组件。例如(到框架):
Events->Mouse->
,您将需要实现mousePressed
和mousePressed
,因为不同的平台有不同的弹出触发器,窗口是mousePressed
,我认为Mac是mousePressed
(不要引用我的话)private void showPopupMenu(MouseEvent e) {
jPopupMenu1.show(this, e.getX(), e.getY());
}
mousePressed
和mouseereleased
方法
private void formMousePressed(MouseEvent evt) {
if (evt.isPopupTrigger()) {
showPopupMenu(evt);
}
}
private void formMouseReleased(MouseEvent evt) {
if (evt.isPopupTrigger()) {
showPopupMenu(evt);
}
}
Tnx,谢谢你的回答,但我正在使用mac,并且也实现了我的mousePressed和mousePressed方法,但不起作用:(哦,sry:(我搞错了。没关系。mac弹出触发器也是“mousePressed()”)