往滚动条容器里添加容器,再往容器中添加组件,,当组件的大小超过滚动条的大小时,滚动条还不显现的解决办法。


滚动条容器,,在NEW的时候只能传一个容器进去。。并且这个容器(zPanel)不需要设置大小。。而且,滚动条容器也不需要设置布局。


但是,当你往容器(zPanel)里面添加组件时,,当超过了面板的大小,滚动条还是不会出来,,


那是因为容器(zPanel)的大小和滚动的容器大小一样大,,并没有重新设置容器(zPanel)的大小,,所以滚动条不出现、


解决办法。。


    当添加的组件超过容器(zPanel)的时候就,重新设置容器(zPanel)的大小,,设置方法:


JPanel里面的内容发生变化后,要设置JPanel的大小:   
zPanel.setPreferredSize(new Dimension(300, 200));   


例:


public TestJScrollPane() {
this.setBounds(500, 500, 400, 300);
this.setLayout(null);

JPanel panel = new JPanel();  //添加到滚动条容器中
panel.setLayout(null);

panel.setPreferredSize(new Dimension(400, 300)); //设置容器的大小

JScrollPane scrollPane = new JScrollPane(panel);
scrollPane.setBounds(0, 0, 300, 200);
scrollPane.setBorder(BorderFactory.createLineBorder(Color.RED));

getContentPane().add(scrollPane);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}





Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐