我是相當新的Java和我有一個問題,試圖把一個以上的按鈕, 此刻我'在面板中添加兩個按鈕,但我不知道如何分離它們的x位置,即它們都是直接添加到對方。Java的GUI:我如何有一個使用GridBagLayout的行上的多個按鈕
我需要創建一個新的佈局,還是可以使用我現在擁有的解決方案找到解決方案?
public class Question1 {
public static void main (String[] args){
MyFrame f = new MyFrame("Simple Submit Cancel Form");
f.init();
}
}
class MyFrame extends JFrame{
MyFrame(String title){
super(title);
}
private JPanel mainPanel;
private GridBagConstraints cText = new GridBagConstraints();
private GridBagConstraints cButton = new GridBagConstraints();
private GridBagLayout gbLayout = new GridBagLayout();
void init(){
mainPanel = new JPanel();
mainPanel.setLayout(gbLayout);
mainPanel.setBorder(BorderFactory.createEmptyBorder(10,20,10,20));
this.setContentPane(mainPanel);
cText.anchor = GridBagConstraints.WEST;
cText.weightx = 0.0;
cText.gridx = 0;
cText.gridy = 0;
JTextField tf = new JTextField(20);
gbLayout.setConstraints(tf,cText);
mainPanel.add(tf);
cButton.gridwidth = 4;
cButton.weightx = 0.0;
cButton.gridx = 0;
cButton.gridy = 1;
JButton b = new JButton("Submit");
gbLayout.setConstraints(b,cButton);
mainPanel.add(b);
b = new JButton("Cancel");
gbLayout.setConstraints(b,cButton);
mainPanel.add(b);
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
this.setVisible(true);
}
感謝您的快速響應,我想知道如果按鈕可以在同一行(即相同的y值)? – user3352349
@ user3352349:哎呀,你說得對。這是需要增加的x值。 –
@ user3352349:在添加組件時也使用約束。閱讀Google將幫助您找到的教程。 –