I’m creating GUI and I don’t know how to resolve my problem. What I’d like to do is to create several panels from PanelClass like i did in Main.
I don’t know how:
- Name buttons in my Panels and gave them some functionality (Like i was trying with button b1)
- Add to panel3 additional labels, and buttons.
My main class
public class Main {
JFrame f;
PanelClass panel1, panel2, panel3;
JButton b1, b2;
public Main() {
b1 = new JButton("asasa");
f = new JFrame();
f.setSize(300, 300);
f.setLayout(new GridBagLayout());
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel1 = new PanelClass(b1, b2, panel1);
panel2 = new PanelClass(b1, b2, panel2);
panel3 = new PanelClass(b1, b2, panel3);
f.add(panel1);
f.add(panel2);
f.add(panel3);
}
public static void main(String[] args) {
Main m = new Main();
}
}
My Panel class
public class PanelClass extends JPanel {
public PanelClass(JButton btn, JButton btn1, JPanel p) {
super();
p = new JPanel(new GridBagLayout());
btn = new JButton();
btn1 = new JButton();
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
p.add(btn, c);
c.gridx = 0;
c.gridy = 1;
p.add(btn1, c);
add(p);
}
}
PanelClasswhich is(are) ignored. Instead 2 new button instances are created. Just assign the passed buttons to the ..I was going to say ‘class level attributes’ when I noted they were not. Entirely removebtn = new JButton();and the text passed in the button constructor will appear.