我想知道使用布局(MigLayout)我可以分成两行而不是两列吗?
panel.add(fname,"split 2");
panel.add(Fname,"wrap, pushx, growx");
panel.add(lname,"split 2");
panel.add(Lname,"wrap, pushx, growx");
panel.add(desc,"split 3,top,gaptop 3,gapright 0.5");
panel.add(new JLabel("PlaceHolder"),"top,gaptop 3");
panel.add(new JScrollPane(Desc),"grow,push,wrap");
panel.add(C,"split 2, Right");
panel.add(D,"wrap");
我希望标签“PlaceHolder”位于文字说明之下,而不是旁边 有没有办法实现它? :)
答案 0 :(得分:1)
这是一个代码片段,显示了一个双列布局,每行有一个标签/字段对(在顶部),另外两个标签在彼此之下以及跨越textArea的行的左侧:
MigLayout layout = new MigLayout("wrap 2, debug", "[][fill, grow]");
JComponent content = new JPanel(layout);
content.add(new JLabel("First Name:"));
content.add(new JTextField());
content.add(new JLabel("Last Name:"));
content.add(new JTextField());
content.add(new JLabel("Description"));
content.add(new JScrollPane(new JTextArea(20, 20)), "spany 3");
content.add(new JLabel("placeholder"));
content.add(new JLabel(""), "newline"); // dummy to keep the placeholder at top
content.add(new JButton("Ok"), "span, split 2, align r, tag ok");
content.add(new JButton("Cancel"), "tag cancel");
需要注意的一些事情: