【问题标题】:java multi-level scroll-able pop-up menusjava多级可滚动弹出菜单
【发布时间】:2016-05-12 14:19:07
【问题描述】:

我有这个要求,我需要显示可以向下多级的菜单。现在每个级别的菜单中都可以有很多对象,这意味着我必须在菜单中显示一个滚动条。

1
 1->1
 1->2
2

我可以编写一个自定义类“JScrollPopupMenu”,它在菜单中引入了一个滚动条。现在我只能控制第一个弹出菜单,但对于下一级菜单,我无法控制正在创建的弹出菜单 示例:

//this is the first pop-up menu
JPopupMenu scrollablePopupMenu = new JScrollPopupMenu();
JMenu menu = new JMenu("1");
scrollablePopupMenu.add(menu);
menu = new JMenu("2");
scrollablePopupMenu.add(menu);
//this is the child menu for "1", I have no control over   //childMenu.getPopupMenu(), this is created internally inside JMenu
JMenu childMenu = new JMenu("1->1");
menu.add(childMenu);
childMenu = new JMenu("1->2");
menu.add(childMenu);

在上面的示例中,第一级弹出窗口有滚动条,但下一级弹出窗口没有。有什么方法可以实现吗?

【问题讨论】:

标签: java swing scroll menu jpopupmenu


【解决方案1】:

如果您有这么多菜单项,您应该重新考虑您的 GUI 设计。

1) 可用性方面的一条经验法则是,您不应在一个组中显示超过 8 个选项。

2) 仅仅因为 Windows 在开始菜单中有一个可滚动的菜单,这并不是一个很好的例子。事实上,微软已经放弃了这一点,转而支持搜索,只是因为巨大的可滚动菜单对用户不友好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多