我需要重构我的应用程序,因为我遇到了渲染问题,这可能是由于未正确使用事件调度线程造成的。为了做正确的事情,我尝试收集信息。我已经开始了这个关于 EDT 的线程: 何时在 Swing 中实现组件
现在我想了解更多关于嵌套面板的最佳方法。
假设我有以下结构:
[面板A [面板B [面板C]]]
什么会更高效(对 invalidate() 的内部调用更少)
订单 1(首先是内部组件,然后是外部组件):
PanelB.add(PanelC);
PanelA.add(PanelB);
订单 2(首先是外部组件,然后是内部):
PanelA.add(PanelB);
PanelB.add(PanelC);
如果有人还有更多关于如何获得最高性能 UI 的信息/链接/提示等,我将不胜感激。大多数教程只是解释基础知识。
一个相关的问题:由于所有 JComponents 都是容器,我考虑通过添加组件来保存一些 JPanel,比如一个 JButton。这是一个好习惯吗:
JButton b=new JButton();
b.setLayout(new BorderLayout(),BorderLayout.Right);
b.add(new MyComponent());
当我更改组件的布局时,如何知道组件默认使用的布局以及可能发生的情况?
非常感谢你的帮助。