java - 如何创建可滚动的 JPopupMenu

标签 java swing

我正在尝试创建一个具有滚动条的 JPopupMenu,以便我可以显示大量项目。

网络上有几个实现都存在问题:

  1. http://forums.sun.com/thread.jspa?threadID=5128630

    看起来是正确的(除了分隔符的问题)但是如果你滚动它突出显示和选择就不再有效。

  2. http://www.beginner-java-tutorial.com/scrollable-jpopupmenu.html

    看起来不像 JPopupMenu(没有 L&F 背景或突出显示),但除了不能将 JMenuItems 放入其中外,它还能工作——相反,您必须使用一些被黑的按钮。

在我尝试调试其中任何一个或编写自己的解决方案之前,任何人都可以指出一个可行的解决方案吗?

最佳答案

如果弹出菜单太大,我的建议是不要使用它。

大多数当前的操作系统用户指南也会这样建议。 如果用户需要滚动才能在其中找到内容,那么大的菜单将是一场噩梦,不是吗?

使用可过滤列表的弹出窗口/对话框怎么样?

(例如eclipse中的CTRL+O弹出可过滤树,或者eclipse中的CTRL+Space Content Assist列表)

关于java - 如何创建可滚动的 JPopupMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/493247/

相关文章:

java - While 循环未使用 jframe 实现执行

java - ObjectInputStream 通过 DeflaterInputStream 抛出 StreamCorruptedException

java - 添加新行后如何更新 JTable 的 View ?

java - repaint() 没有被 actionlistener 正确调用

java - 如何在不使用递归遍历的情况下在java中找到文件夹大小?

java - 警报管理器不工作 Android Java

java - 运行 "web proxy"进行集成测试的 Maven 插件

Java 程序在调整大小之前不显示 swing 元素?

java - 为什么 JScrollPane 不工作?

java - 使用 jTextField1KeyTyped 事件从 jTextField 获取文本