栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Java Swing中创建右键单击上下文菜单?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Java Swing中创建右键单击上下文菜单?

您可能正在手动调用

setVisible(true)
菜单。这会导致菜单中出现一些令人讨厌的越野车行为。

show(Component, int x, intx)
方法处理所有需要发生的事情(在鼠标悬停时突出显示事情,并在必要时关闭弹出窗口),其中使用
setVisible(true)
只是显示菜单而无需添加任何其他行为。

要进行右键单击弹出菜单,只需创建一个

JPopupMenu

class PopUpDemo extends JPopupMenu {    JMenuItem anItem;    public PopUpDemo() {        anItem = new JMenuItem("Click Me!");        add(anItem);    }}

然后,您所要做的就是向

MouseListener
要弹出菜单的组件中添加一个自定义项。

class PopClickListener extends MouseAdapter {    public void mousePressed(MouseEvent e) {        if (e.isPopupTrigger()) doPop(e);    }    public void mouseReleased(MouseEvent e) {        if (e.isPopupTrigger()) doPop(e);    }    private void doPop(MouseEvent e) {        PopUpDemo menu = new PopUpDemo();        menu.show(e.getComponent(), e.getX(), e.getY());    }}// Then on your component(s)component.addMouseListener(new PopClickListener());

当然,这些教程会有更深入的解释。

注意:
如果您发现弹出菜单与用户单击的位置相距很远,请尝试对x和y坐标使用

e.getXonScreen()
e.getYonScreen()
方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449800.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号