我希望在面板上有一个垂直对齐的文本字段和标签列表,每个标签对应于相应的文本字段,并在UI旁边显示。稍后将为另一个函数调用文本字段中的值。
问题在于我似乎无法正确布局。我尝试过使用Spring Layout但是我无法理解它......基本上我可以用其他方式做到这一点吗?我目前正在使用面板的框布局,但它只显示一个文本字段列表,其下方有标签列表。我还是一个菜鸟,我真的需要一些新的意见。非常感谢任何帮助,谢谢。
答案 0 :(得分:3)
你可以简单地使用GridBagLayout
(尽管MigLayout
也值得一看)...
setLayout(new GridLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
for (int index = 0; index < 10; index++) {
gbc.anchor = GridBagConstraints .EAST;
gbc.gridx = 0;
add(new JLabel("Label " + index), gbc);
gbc.anchor = GridBagConstraints .WEST;
gbc.gridx++;
add(new JTextField(10), gbc);
gbc.gridy++;
}
现在,显然,这只是用来演示这个概念的一个例子,你需要扩展这个想法并将其应用到你的特定问题......
请查看How to use GridBagLayout
了解更多详情
答案 1 :(得分:1)
我建议看看RiverLayout经理。它非常简单易用。
http://www.datadosen.se/riverlayout/
JFrame frame = new JFrame("Test RiverLayout");
Container container = frame.getContentPane();
container.setLayout(new RiverLayout());
container.add("left", new JLabel("Label 1"));
container.add("tab", new JTextField("Text field 1"));
container.add("br left", new JLabel("Label 2"));
container.add("tab", new JTextField("Text field 2"));
frame.pack();
frame.setVisible(true);