java - JToolBar 项目顺序

标签 java swing jtoolbar

我有一个 JToolBar 并且喜欢对项目重新排序。

例如,我有一个“新建”、一个“打开”和一个“保存”按钮。

我在不同的线程中添加这些按钮,因此顺序是随机的。

不幸的是,顺序是“保存”、“打开”、“新建”。这是一个问题,因为用户对这种不寻常的顺序感到惊讶。

如何更改项目的顺序?

最佳答案

一些替代方案:

  • 导出 Action 的实例,如图here ,以便当可以按所需顺序添加按钮时它们可用。

  • 按所需顺序将按钮添加到工具栏,但将对 setAction() 的调用推迟到相关线程完成为止。

    final Action saveAction = new AbstractAction(…) {…}
    EventQueue.invokeLater(new Runnable() {
    
        @Override
        public void run() {
            saveButton.setAction(saveAction);
            saveButton.setEnabled(true);
        }
    });
    
  • 使用CountDownLatch,如图 here ,以确保在添加按钮之前所有相关线程都已完成。

关于java - JToolBar 项目顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37455624/

相关文章:

java - 如何从项目文件夹中检索图像

java - 如何在java中向JPanel添加Applet

java - Guice注入(inject)注释值

java - 在 Spring MVC 中搜索

java - Android http连接无法连接到本地主机可以连接到外部网站

java - 如何在 awt 或 swing 窗口上使用后处理

java - 将图像放置在 jmenubar + jtoolbar 中

java - 将 JTextField 添加到 JToolBar

java - 为 JToolbar 创建复合 Swing 组件

java - 如何从tomcat自动获取线程转储