2012-02-24 14 views
2

が私のコードです:のJava JFrameのは)私のボタンを中央に配置:<ここ

public class Main { 
public static void main(String[] args){ 
JFrame frame = new JFrame("Vex Development Studio 2.0"); 
frame.pack(); 
frame.setVisible(true); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setLocation(10,10); 
//make variables 
File newproject; 

Container content = frame.getContentPane(); 
GridBagConstraints gbc = new GridBagConstraints(); 
Dimension buttonsize = new Dimension(75,25); 
Button about; 
about = new Button("About"); 
about.setPreferredSize(buttonsize); 
//add content 
content.setLayout(new GridBagLayout()); 
    content.setBackground(Color.white); 
    gbc.gridx = 0; 
    gbc.gridy = 0; 
    content.add(about,gbc); 
    //main stuff 
    //about button 
    about.addActionListener(new ActionListener(){ 
      public void actionPerformed(ActionEvent ae){ 
      JOptionPane.showMessageDialog(null, "Example", "About", 1); 
      } 
      }); 
    //some extra crap 
    frame.setSize(700, 500); 
    frame.show(); 
    //end 
} 
} 

は、私はすべてのコードの権利を持っている、と私はすべての必要な輸入品を持って、問題がある:私はになるようにボタンを必要としますウィンドウの左上隅。前もって感謝します! (:

+2

私のお金のために、GridBagLayoutの使用を避け、代わりにBorderLayoutを使用するJPanels、もう1つのBoxLayoutを入れ子にします。 –

+2

.show()メソッドは廃止予定です。代わりに.setVisible(true)を使用してください。 –

答えて

3

アンカーに。。。コンテンツ・ペインの左最上部にボタンが、新しい表記法で

gbc.anchor = GridBagConstraints.NORTHWEST; 

または同等を使用することができ、私はあなたが

を使用することができると信じて

setLayout(null); 

ボタンを作成し、それはあなたが自由に移動できるようになる前にこれを入れて:あなたは、ボタンが自分で移動できるようにする必要があり

gbc.anchor = GridBagConstraints.FIRST_LINE_START; 
4

があるので、あなたのGridBagLayoutに、正方形の一つだけがあります

は、私が代わりにボタンのJButtonを使用することをお勧め

AWTとSwingを混合することは悪い考えです

+0

ボタンをうまくキャッチします。 +1 –

0

関連する問題