我需要揮杆建議有關佈局管理器這樣的形式:在java swing中創建表單最簡單的方法是什麼?
Label1 TextField1
Label1 TextField1
ButtonWideAsForm
你能告訴我用什麼佈局?
我需要揮杆建議有關佈局管理器這樣的形式:在java swing中創建表單最簡單的方法是什麼?
Label1 TextField1
Label1 TextField1
ButtonWideAsForm
你能告訴我用什麼佈局?
這裏是剛剛GUI你描述它使用的GridBagConstraints方式的小例子:
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class TestGUI {
public static void main (String[] args) {
JFrame frame = new JFrame("Test");
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
JLabel label1 = new JLabel("label1");
JTextField text1 = new JTextField();
JTextField text2 = new JTextField();
JLabel label2 = new JLabel("label2");
JButton button1 = new JButton("Button");
text1.setColumns(10);
text2.setColumns(10);
constraints.gridx = 0;
constraints.gridy = 0;
panel.add(label1, constraints);
constraints.gridx = 1;
panel.add(text1, constraints);
constraints.gridx = 0;
constraints.gridy = 1;
panel.add(label2, constraints);
constraints.gridx = 1;
panel.add(text2, constraints);
constraints.gridx = 0;
constraints.gridy = 2;
constraints.gridwidth = 2;
constraints.fill = GridBagConstraints.BOTH;
panel.add(button1, constraints);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
}
的的gridx和gridy相對簡單,自我解釋,他們只是說什麼行和列的成分應該是他們的關鍵是填充和網格寬度。這告訴佈局管理器定位按鈕以佔用2個單元格並填充行中的任何額外空間,從而實現全寬效果。
感謝演示。是否有可能將標籤右側和文本域左側對齊? –
是的,只需切換它們的'gridx'值。因此,'text1'應該有'gridx = 0','label1'應該有'gridx = 1','label2'和'text2'也是一樣的。 – Steampunkery
@JaySmith當然可以。看看GridBagConstraints.anchor可能的值(在這種情況下,你只需要爲標籤的錨點設置GridBagConstraints.EAST,爲textfield的錨點設置GridBagConstraints.WEST) – Ansharja
'BorderLayout'是我認爲最簡單的開始。用一些「黑客攻擊」你也可以使用 – XtremeBaumer
學習GridBagLayout。這很難學,但工作得很好。這是值得學習的時間。 – VGR
當我想要簡單的代碼時,我實際上傾向於使用'Box'。但其他佈局更好,請使用IDE和GUI佈局工具(如NetBeans和Matisse)進行研究。 – markspace