Java Jframe центрирует мои кнопки): - PullRequest
2 голосов
/ 24 февраля 2012

Вот мой код:

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
}
}

У меня весь код правильный, и у меня есть все необходимые операции импорта, проблема в том, что мне нужно, чтобы кнопки были в верхнем левом углу окна.,Заранее спасибо!(

Ответы [ 3 ]

4 голосов
/ 24 февраля 2012

Потому что в вашем gridbaglayout есть только один квадрат.

И я предлагаю использовать JButton вместо Button.

смешивать AWT и Swing - плохая идея.

3 голосов
/ 24 февраля 2012

Чтобы закрепить кнопку в левом верхнем углу панели содержимого, вы можете использовать

gbc.anchor = GridBagConstraints.NORTHWEST;

или, что эквивалентно, в новой записи, я полагаю, вы можете использовать

gbc.anchor = GridBagConstraints.FIRST_LINE_START;
0 голосов
/ 22 февраля 2013

Вы должны позволить кнопкам двигаться самостоятельно:

setLayout(null);

Поставьте это перед созданием кнопки, и она позволит вам свободно перемещать их.

...