当前位置: 代码迷 >> J2SE >> JScrollPane为什么无法显示到jframe或者jpanel上解决办法
  详细解决方案

JScrollPane为什么无法显示到jframe或者jpanel上解决办法

热度:101   发布时间:2016-04-24 02:30:11.0
JScrollPane为什么无法显示到jframe或者jpanel上
不知道为什么,JScrollPane就是不显示到jframe上,必须变动一下窗口大小,让系统因Resizable而自动调用repaint方法重绘时,才会显示出来。下面是主要代码。
Java code
    //这是我的构造方法        setLayout(new BorderLayout());        setSize(300, 200);    setLocationRelativeTo(null);    setVisible(true);    conn = MySQL.getInstance().getConnection();//连接数据库,我在MySQL类中写好了    JTable jt=createJTable();//调用一个创建JTable的方法,和问题无关,没贴    JButton jbBack=new JButton("back");    jbBack.setSize(100,20);    add(jbBack,BorderLayout.SOUTH);    JScrollPane scrollPane = new JScrollPane(jt);    add(scrollPane,BorderLayout.CENTER);//以下两句我写和不写一个样,都不会显示出来    scrollPane.setVisible(true);    repaint();


------解决方案--------------------
你把JFrame 的setVisible(true)方法放到最后!;

------解决方案--------------------
呵呵,这个问题属于初始化问题,上次我们也是遇到类似的问题了。
首先把窗体里想有的构件都添加好,之后在显示出来就好了。。。
我的习惯是这样写的:
conn = MySQL.getInstance().getConnection();//连接数据库,我在MySQL类中写好了
JTable jt=createJTable();//调用一个创建JTable的方法,和问题无关,没贴
JButton jbBack=new JButton("back");
jbBack.setSize(100,20);
add(jbBack,BorderLayout.SOUTH);
JScrollPane scrollPane = new JScrollPane(jt);
add(scrollPane,BorderLayout.CENTER);

 setLayout(new BorderLayout());
setSize(300, 200);
setLocationRelativeTo(null);
setVisible(true);
  相关解决方案