JToolBar项目的顺序

时间:2016-05-26 08:35:42

标签: java swing jtoolbar

我有一个JToolBar并想重新排序这些项目。

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

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

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

如何更改商品的订单?

2 个答案:

答案 0 :(得分:1)

一些替代方案:

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

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

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

答案 1 :(得分:0)

一种简单的方法是设置工具栏,按正确顺序添加所有按钮,然后使其不可见。

然后,每个线程都可以使相关按钮可见。而且你不必等待线程完成 - 希望如此。