有一种方法可以打印特定组件的布局信息。我知道有这样的一个方法,但我忘记了它的名字。 当您为Swing组件调用该方法时,它会显示该组件的详细布局信息,就像dumpstacktrace调用一样。 有任何想法吗?那个方法叫什么名字?我在一本书中读到过,但是忘记了。或者让我知道一些调试Java Swing布局的好方法。
我不知道具体的方法,但你可以在运行时通过按键来实现这一点。请参阅页面:AWT故障排除。它提供了以下调试提示:要转储AWT组件层次结构,请按Ctrl+Shift+F1。它还提供了其他有关布局调试的提示,在“布局问题”部分下还有另一部分专门介绍Swing“故障排除”。
每个容器(包括所有JComponents)都有一个getLayout()方法,该方法将返回为此组件设置的布局管理器,如果没有设置则返回null(但请记住,许多组件具有默认管理器)。您还可以使用getComponents()返回所持有组件的数组。如果您想查看所有布局管理器,则必须编写递归方法来遍历所有持有的组件,检查它们是否继承自Container,然后调用上述方法。