有一种方法可以打印特定组件的布局信息。我知道有一种方法,但我忘记了名字。
当您为Swing组件调用该方法时,它会像dumpstacktrace调用一样详细显示该组件的布局信息。
有什么想法吗?这个方法名称是什么?我在一本书中读到它但却忘记了。或者让我知道调试Java Swing布局的一些好方法。
答案 0 :(得分:32)
当您的JFrame可见时,按CTRL + SHIFT + F1并查看组件和布局的树层次结构的控制台输出。
答案 1 :(得分:6)
我不知道具体的方法,你可以在运行时按键操作。
查看页面:Troubleshooting AWT
它提供了以下调试提示:
要转储AWT组件层次结构,请按Ctrl + Shift + F1。
它还提供了“布局问题”部分下的布局调试的其他提示,还有另一个专门用于摆动“故障排除”的部分
答案 2 :(得分:2)
每个Container(包括所有JComponents)都有一个getLayout()方法,该方法将返回已为此组件设置的布局管理器,如果没有设置则返回null(但请记住,许多都是默认管理器)。您还可以使用getComponents()返回所持有的组件数组。如果要查看所有布局管理器,则必须编写递归方法来遍历所有保留的组件,检查它们是否从Container继承,然后调用上述方法。