java - Trying to display JTable -


using gridbaglayout, i'm trying display jtable. here's code (simplified). jpanel code i'll put shown after button click.

my panel :

   optionspane = new jpanel();         optionspane.setlayout(new gridbaglayout());         optionspane.setbounds(0, 0, myframe.getwidth(), myframe.getheight()); 

my panel's children :

  gridbagconstraints dgbc=new gridbagconstraints();      dgbc.gridx=0;     dgbc.gridy=0;     dgbc.weightx = 1.0;     dgbc.weighty = 1.0;     dgbc.anchor=gridbagconstraints.center;     dgbc.fill=gridbagconstraints.both;     dgbc.insets=new insets(5,10,10,5);     datapane.add(serviceinterface.eighthpanel(), dgbc);      dgbc.gridx=0;     dgbc.gridy=1;     gbc.anchor=gridbagconstraints.south;     dgbc.fill=gridbagconstraints.both;     dgbc.insets=new insets(5,0,5,5);     datapane.add(serviceinterface.ninethpanel(), dgbc); 

here panel method contains jpanel :

  public static jpanel eighthpanel() throws ioexception{     pane.setlayout(new gridbaglayout());     gridbagconstraints gbc=new gridbagconstraints();     pane.setborder(borderfactory.createlineborder(color.black));      jlabel datawelcome=new jlabel("please enter qos values'");     datawelcome.setfont(new font("ubuntu", font.bold, 16));       gbc.gridx = 0;     gbc.gridy = 1;     gbc.fill=gridbagconstraints.both;     gbc.fill=gridbagconstraints.remainder;     gbc.insets=new insets(10,20,10,20);     pane.add(datawelcome, gbc);      gbc.gridx = 0;     gbc.gridy = 2;     gbc.weightx=1;     gbc.weightx=1;     gbc.fill=gridbagconstraints.both;     gbc.fill=gridbagconstraints.remainder;     gbc.insets=new insets(10,20,10,20);     //pane.add(new jscrollpane(displayjtable), gbc);     pane.add(myscrol, gbc);      return pane; } 

here how fill jtable (inside button listener):

                mytableclass=new mytable();                 displayjtable = new jtable(mymodel);      displayjtable.getcolumnmodel().getcolumn(0).setpreferredwidth(60);     displayjtable.setpreferredscrollableviewportsize(new dimension(525,250));                 displayjtable.setfillsviewportheight(true);                 displayjtable.setlocation(5,5);                 myscrol.add(displayjtable);                 myscrol.getviewport().setviewposition(new point(0,0));                 myscrol.setpreferredsize(new dimension(600,400));                 principalpane.setvisible(false);                 datapane.setvisible(true);             }         }});     

i resolved problem. added other panel (default layout) , added scrollpane panel inside button.actionlistener. think because of static characteristic of gridbaglayout.


Comments