我有一个JToolBar
并想重新排序这些项目。
例如,我有一个“新”,一个“打开”和一个“保存”按钮。
我在不同的线程中添加这些按钮,因此顺序是一种随机的。
不幸的是,订单是“保存”,“打开”,“新”。这是一个问题,因为用户对这种不寻常的顺序感到惊讶。
如何更改商品的订单?
答案 0 :(得分:1)
一些替代方案:
按所需顺序将按钮添加到工具栏,但将调用推迟到setAction()
,直到相关主题完成为止。
final Action saveAction = new AbstractAction(…) {…}
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
saveButton.setAction(saveAction);
saveButton.setEnabled(true);
}
});
使用图示为here的CountDownLatch
,确保在添加按钮之前已完成所有相关线程。
答案 1 :(得分:0)
一种简单的方法是设置工具栏,按正确顺序添加所有按钮,然后使其不可见。
然后,每个线程都可以使相关按钮可见。而且你不必等待线程完成 - 希望如此。