java - Position glCanvas alongside a JPanel containing buttons -
i'd have jbutton
panel
consume ~30% of frame
s horizontal space.
, glcanvas
on right side taking rest of frame
s space.
how can achieve layout?
currently:
main.java
glprofile profile = glprofile.get(glprofile.gl2); glcapabilities capabilities = new glcapabilities(profile); glcanvas glcanvas = new glcanvas(capabilities); glcanvas.addgleventlistener(new gamerenderer()); glcanvas.setsize(100, 100); jframe frame = new jframe("tool"); jpanel panel = new jpanel(); jpanel cpanel=new jpanel(); panel.setlayout(null); cpanel.setlayout(null); jbutton buttonbr = new jbutton("1"); jbutton buttone = new jbutton("2"); jbutton buttonr = new jbutton("3"); jbutton buttonc = new jbutton("4"); jbutton buttont = new jbutton("5"); jbutton buttoncr = new jbutton("6"); buttonbr.setbounds(10, 30, 150, 40); buttone.setbounds(10, 80, 150, 40); buttonr.setbounds(10, 130, 150, 40); buttonc.setbounds(10, 180, 150, 40); buttont.setbounds(10, 230, 150, 40); buttoncr.setbounds(10, 450, 150, 40); cpanel.add(glcanvas); panel.add(buttonbr); panel.add(buttone); panel.add(buttonr); panel.add(buttonc); panel.add(buttont); panel.add(buttoncr); frame.add(cpanel); frame.add(panel); frame.setsize(toolkit.getdefaulttoolkit().getscreensize().width, toolkit.getdefaulttoolkit().getscreensize().height); frame.setvisible(true); animator animator = new animator(glcanvas)); animator.start();
consider using miglayout such:
import javax.swing.jframe; import javax.swing.jlabel; import net.miginfocom.swing.miglayout; import javax.swing.jtextfield; public class main extends jframe { private static final long serialversionuid = 1l; public main() { getcontentpane().setlayout(new miglayout("", "[grow 30][grow 70]", "[]")); jlabel label = new jlabel("30%"); getcontentpane().add(label, "cell 0 0"); jtextfield textfield = new jtextfield("70%"); getcontentpane().add(textfield, "cell 1 0,growx"); pack(); setvisible(true); } public static void main(string[] args) { new main(); } }
Comments
Post a Comment