java - Trying to add multiple JPanels into one main JPanel and set the border layout -


i working on building atm machine , having trouble setting borderlayout of multiple jpanels. trying make picture along lines of

but when run it looks this:

here code how trying this.

public main() {      try {         atmpicture = imageio.read(new file("atmpicture.jpg"));         welcomescreen = imageio.read(new file("welcome screen.jpg"));         enteraccscreen = imageio.read(new file("account number.jpg"));         mainbuttons = imageio.read(new file("main screen.jpg"));         withdrawscreen = imageio.read(new file("r2 click.jpg"));         depositscreen = imageio.read(new file("r3 click.jpg"));         transferscreen = imageio.read(new file("r4 click.jpg"));         accinfoscreen = imageio.read(new file("l1 click.jpg"));         withdrawscreen2 = imageio.read(new file("r2.2 click.jpg"));     } catch (ioexception ex) {         system.out.println("the file cannot read2");         system.exit(1);     }       panel1 = new jpanel(new gridlayout(4, 3)); //numpad     panel2 = new jpanel(new gridlayout(3, 1)); //left 3 buttons     panel3 = new jpanel(new gridlayout(3, 1)); // right 3 buttons     panelmain = new jpanel(new gridlayout(0, 3)); // textfield       jtf.sethorizontalalignment(swingconstants.left);     jtf.setpreferredsize(new dimension(10, 10));     initbuttons(); }  /**  * initializes buttons , adds them   */ private void initbuttons() {      panel1.add(b1);     panel1.add(b2);     panel1.add(b3);     panel1.add(b4);     panel1.add(b5);     panel1.add(b6);     panel1.add(b7);     panel1.add(b8);     panel1.add(b9);     panel1.add(ba);     panel1.add(b0);     panel1.add(bp);      panel2.add(l1);     panel2.add(l2);     panel2.add(l3);      panel3.add(r1);     panel3.add(r2);     panel3.add(r3);      database cdata = new database();     cdata.storedata();      buttonlistener listener = new buttonlistener(cdata);      b1.addactionlistener(listener);     b2.addactionlistener(listener);     b3.addactionlistener(listener);     b4.addactionlistener(listener);     b5.addactionlistener(listener);     b6.addactionlistener(listener);     b7.addactionlistener(listener);     b8.addactionlistener(listener);     b9.addactionlistener(listener);     b0.addactionlistener(listener);     ba.addactionlistener(listener);     bp.addactionlistener(listener);     l1.addactionlistener(listener);     l2.addactionlistener(listener);     l3.addactionlistener(listener);     r1.addactionlistener(listener);     r2.addactionlistener(listener);     r3.addactionlistener(listener);      setlayout(new borderlayout());       panelmain.add(panel1, borderlayout.page_end);     panelmain.add(panel2, borderlayout.line_start);     panelmain.add(panel3, borderlayout.line_end);     panelmain.add(jtf, borderlayout.center);      add(panelmain);  }  public static void main(string[] args) {     swingutilities.invokelater(new runnable() {              public void run() {                  image upper = null;                 image right = null;                 image left = null;                 image bottom = null;                 //image middle = null;                 jframe frame = new jframe();                 try {                     upper = imageio.read(new file("upper portion.jpg"));                     right = imageio.read(new file("right portion.jpg"));                     left = imageio.read(new file("left portion.jpg"));                     bottom = imageio.read(new file("bottom portion.jpg"));                     //middle = imageio.read(new file("middle portion.jpg"));                 } catch (ioexception ex) {                     system.out.println("the file cannot read");                     system.exit(1);                 }                  jlabel labeltop = new jlabel(new imageicon(upper));                 jlabel labelright = new jlabel(new imageicon(right));                 jlabel labelleft = new jlabel(new imageicon(left));                 jlabel labelbottom = new jlabel(new imageicon(bottom));                 //jlabel labelmiddle = new jlabel(new imageicon(middle));                  labeltop.setlayout(new borderlayout());                 labelright.setlayout(new borderlayout());                 labelleft.setlayout(new borderlayout());                 labelbottom.setlayout(new borderlayout());                 //labelmiddle.setlayout(new borderlayout());                  frame.add(labeltop, borderlayout.page_start);                 frame.add(labelleft, borderlayout.line_start);                 frame.add(labelright, borderlayout.line_end);                 frame.add(labelbottom, borderlayout.page_end);                 frame.add(new main(), borderlayout.center);                  frame.setsize(1041, 1200);                 frame.setvisible(true);             }         });  } 

panelmain = new jpanel(new gridlayout(0, 3));  

you set layout panelmain gridlayout();

panelmain.add(panel1, borderlayout.page_end); panelmain.add(panel2, borderlayout.line_start); panelmain.add(panel3, borderlayout.line_end); panelmain.add(jtf, borderlayout.center); 

but treat panelmain borderlayout. can't randomly use borderlayout contraints.

if want panelmain use borderlayout create borderlayout:

panelmain = new jpanel(new borderlayoutlayout());  

Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -