java - GridBagLayout Troubleshooting -
so decided make gui bit nicer, , use gridbaglayout instead. following objects adding panel:
choosepanel = new jpanel(); choosepanel.setlayout(new gridbaglayout()); chooselabel = new jlabel("choose quarter input data for:"); additem(chooselabel, 0, 0, 1, 1); qgroup = new buttongroup(); q1 = new jradiobutton("q1"); qgroup.add(q1); q1.setselected(true); additem(chooselabel, 0, 1, 1, 1); q2 = new jradiobutton("q2"); qgroup.add(q2); additem(chooselabel, 0, 2, 1, 1); q3 = new jradiobutton("q3"); qgroup.add(q3); additem(chooselabel, 0, 3, 1, 1); q4 = new jradiobutton("q4"); qgroup.add(q4); additem(chooselabel, 0, 4, 1, 1); choosebutton = new jbutton("press enter quarter"); choosebutton.addactionlistener(e->{ cl.show(mainpanel, "info"); this.setsize(330, 240); }); choosebutton.setpreferredsize(new dimension(200, 100)); additem(chooselabel, 1, 1, 1, 1); resetbutton = new jbutton("reset previous data"); resetbutton.addactionlistener(e->{ }); resetbutton.setpreferredsize(new dimension(200, 100)); additem(chooselabel, 1, 2, 1, 1);
and here "additem" method:
private void additem(jcomponent c, int x, int y, int width, int height){ gridbagconstraints gbc = new gridbagconstraints(); gbc.gridx = x; gbc.gridy = y; gbc.gridwidth = width; gbc.gridheight = height; gbc.weightx = 100.0; gbc.weighty = 100.0; gbc.fill = gridbagconstraints.none; choosepanel.add(c, gbc); }
my problem is, when run program, shows chooselabel in middle of screen, , nothing else. know how fix this? ......
change
q1 = new jradiobutton("q1"); qgroup.add(q1); q1.setselected(true); additem(chooselabel, 0, 1, 1, 1); q2 = new jradiobutton("q2"); qgroup.add(q2); additem(chooselabel, 0, 2, 1, 1); q3 = new jradiobutton("q3"); qgroup.add(q3); additem(chooselabel, 0, 3, 1, 1); q4 = new jradiobutton("q4"); qgroup.add(q4); additem(chooselabel, 0, 4, 1, 1);
to
q1 = new jradiobutton("q1"); qgroup.add(q1); q1.setselected(true); additem(q1 , 0, 1, 1, 1); q2 = new jradiobutton("q2"); qgroup.add(q2); additem(q2, 0, 2, 1, 1); q3 = new jradiobutton("q3"); qgroup.add(q3); additem(q3, 0, 3, 1, 1); q4 = new jradiobutton("q4"); qgroup.add(q4); additem(q4, 0, 4, 1, 1);
and on.. adding chooselabel
time.
Comments
Post a Comment