如何调试Java Swing布局

Ume*_*cha 11 java layout swing

有一种方法可以打印特定组件的布局信息.我知道有一种方法,但我忘记了名字.

当您为Swing组件调用该方法时,它会像dumpstacktrace调用一样详细显示该组件的布局信息.

任何的想法?这个方法名称是什么?我在一本书中读到它但却忘记了.或者让我知道调试Java Swing布局的一些好方法.

Sta*_*avL 32

当您的JFrame可见时,按CTRL + SHIFT + F1并查看组件和布局的树层次结构的控制台输出.


Aar*_*ron 6

我不知道具体的方法,你可以在运行时按键操作.

看一下页面:AWT故障排除

它提供以下调试提示:

要转储AWT组件层次结构,请按Ctrl + Shift + F1.

它还提供了"布局问题"部分下的布局调试的其他提示,还有另一个专门用于摆动"故障排除"的部分


Hov*_*els 2

每个容器(包括所有 JComponent)都有一个 getLayout() 方法,该方法将返回为此组件设置的布局管理器,如果未设置,则返回 null(但请记住,许多容器都指定了默认管理器)。您还可以 getComponents() 返回所持有组件的数组。如果您想查看所有布局管理器,则必须编写一个递归方法来遍历所有持有的组件,检查它们是否继承自 Container,然后调用上述方法。