KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In the following GridBagLayout code, I'm expecting the specified minimum size of JButton btn2 to be respected when the JFrame is resized to be made smaller. But when I make the JFrame smaller, the btn2 gets smaller than its minimum size and then vanishes. Can someone point me in the right direction of what I'm doing wrong? Maybe I have to set the minimum size of the JPanel that contains the buttons? Any help is appreciated, thanks! JFrame frame = new JFrame(); frame.setSize(400,300); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); panel.setMinimumSize(new Dimension(400,300)); panel.setBackground(Color.RED); panel.setLayout(new GridBagLayout()); GridBagConstraints gbc = null; JButton btn1 = new JButton("btn1"); btn1.setPreferredSize(new Dimension(150,50)); btn1.setMinimumSize(new Dimension(150,50)); gbc = new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0,0,0,0), 0, 0); panel.add(btn1, gbc); JButton btn2 = new JButton("btn2"); btn2.setPreferredSize(new Dimension(150,150)); btn2.setMinimumSize(new Dimension(150,150)); gbc = new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0, GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(0,0,100,100), 0, 0); panel.add(btn2, gbc); frame.getContentPane().add(panel); frame.setVisible(true);
Tags (comma-separated)
Save Edits
Cancel