Skip to main content

Java Jframe centers my buttons ):<



Here is my code:







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

}

}







I have all the code right, and I have all the required imports, the problem is: I need the buttons to be at the top left corner of the window. Thanks in advance! (:


Comments

  1. Because in your gridbaglayout, there's only one square.

    And I suggest to use a JButton instead of Button.

    mixing AWT and Swing is a bad idea.

    ReplyDelete
  2. To anchor the button to top left of the content pane, you can use

    gbc.anchor = GridBagConstraints.NORTHWEST;


    or equivalently in new notation, I believe you can use

    gbc.anchor = GridBagConstraints.FIRST_LINE_START;

    ReplyDelete
  3. If you want total freedom over you layout, do setLayout(null);

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?