In NetBeans, I have used the GUI editor to make a JFrame and I’ve put a JPanel in the frame.
At the moment, I’m trying to make a new button in the panel when the class constructs.
This is the code I have, but I can’t seem to get it to work.
(The first line makes the button, the other lines try to show it.)
this.jPanel2.add(new JButton("Test"),BorderLayout.NORTH);
this.jPanel2.validate();
this.jPanel2.revalidate();
this.jPanel2.repaint();
this.jPanel2.setVisible(true);
this.revalidate();
this.setVisible(true);
this.repaint();
I’ve been googling all night, but can’t seem to get it to work.
Some times when you don’t see a button it is a layout manager issue (as in you aren’t setting the right properties for the layout manager). You can test this by disabling it:
And setting bounds for the button (
JButton.setBounds()).If the above fixes your problem, then you need to look into the requirements set by the LayoutManager you are using (see also the answer by Robin).
All the calls to
validate(),revalidate()andrepaint()are not needed to do this.