在另一个线程中,我说过我喜欢通过做这样的事情来集中我的GUI:
JFrame frame = new JFrame("Foo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new HexagonGrid());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
但安德鲁汤普森有不同的意见,而是打电话
frame.pack();
frame.setLocationByPlatform(true);
Run Code Online (Sandbox Code Playgroud)
和询问的头脑想知道为什么?
当你不知道你将拥有多少组件以及它们有多大时,你会如何获得一个体面的gui?
例如,用户输入他们想要的文本字段数以及哪些文本字段在有边框的面板中分组,程序会生成此字段.
我一直在使用GridLayout,但问题是它使所有单元格具有相同的宽度和高度,这在所有组件具有相同大小时都很好,但是当我例如具有文本字段和带有多个的边框面板时字段,文本字段伸出或面板被挤压.
我希望所有组件都具有最小尺寸,但仍然可以使用.
现在的示例,使用GridLayout,所有字段都是正常的,单行JTextFields,其中标题为date的面板被完全挤压(它有三个字段),第一级字段是大的.任何人有任何指针?