gpt4 book ai didi

java - 如何在 netbeans 可视化编辑器中的 JFrame 中添加弹出菜单

转载 作者:行者123 更新时间:2023-12-03 23:11:30 25 4
gpt4 key购买 nike

我已经尝试在 Netbeans 可视化编辑器中通过设计将 PopUp 菜单添加到 JFrame,但它不起作用。任何人都可以逐步提示我如何添加它吗?非常感谢!

最佳答案

问题是 JPopupMenu 不是最初可见或添加到容器中的组件。因此,只需将其拖放到设计 View 框架中,不会对设计 View 产生视觉影响。

但是,如果您查看源代码或导航器,您看到声明为类成员并在 initComponents() 中实例化的 jPopupMenu 方法。

我自己尝试过不同的东西,从我的尝试来看,你似乎不能以可视化的方式设计弹出菜单。不过,您可以使用 Navigator 来设计它。

enter image description here

  1. 在导航器中,您将看到 jPopupMenu1。您可以通过右键单击并选择 Add from Palette 来添加 JMenusJMenuItems
  2. 然后,您可以通过在导航器中右键单击 JMenuItem 并选择 Events -> Actions -> actionPerformed 来将监听器添加到 JMenuItem/li>

要使 JPopupMenu 出现,您需要将 MouseListener 添加到组件,无论是框架还是其他组件。例如(到框架):

  1. 从 Navigator 中选择框架并右键单击它并选择 Events -> Mouse -> 您将需要实现 mousePressed mouseReleased,因为不同的平台有不同的弹出触发器,Windows 是 mouseReleased,我认为 Mac 是 mousePressed(不要引用我的话)。
  2. 创建一个方法来显示弹出菜单。

    private void showPopupMenu(MouseEvent e) {
    jPopupMenu1.show(this, e.getX(), e.getY());
    }
  3. 实现您的mousePressedmouseReleased 方法

    private void formMousePressed(MouseEvent evt) {                                  
    if (evt.isPopupTrigger()) {
    showPopupMenu(evt);
    }
    }

    private void formMouseReleased(MouseEvent evt) {
    if (evt.isPopupTrigger()) {
    showPopupMenu(evt);
    }
    }

enter image description here

关于java - 如何在 netbeans 可视化编辑器中的 JFrame 中添加弹出菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23392464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com