往JScrollPane中添加组件时滚动条不出现的解决方法
往滚动条容器里添加容器,再往容器中添加组件,,当组件的大小超过滚动条的大小时,滚动条还不显现的解决办法。滚动条容器,,在NEW的时候只能传一个容器进去。。并且这个容器(zPanel)不需要设置大小。。而且,滚动条容器也不需要设置布局。但是,当你往容器(zPanel)里面添加组件时,,当超过了面板的大小,滚动条还是不会出来,,那是因为容器(zPanel)的大小和滚动的容器大小一样大,,并没有重新设置
·
往滚动条容器里添加容器,再往容器中添加组件,,当组件的大小超过滚动条的大小时,滚动条还不显现的解决办法。
滚动条容器,,在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);
}
滚动条容器,,在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);
}
更多推荐
已为社区贡献1条内容
所有评论(0)