我有一个JFrame,其中我已经添加了两个JPanel和JScrollPane,一个是JFrame垂直部分的一部分。 然后我添加一个没有。的JPanel(每个包含两个JLabel的流程布局)到这两个JPanel。
达到这一切的事情都很好,但是当没有。的JPanel增加,JPanel的大小减少,而滚动不起作用。 你能帮我找出为什么滚动不起作用吗?在JPanel中滚动不起作用
下面是一些代码只有一个的JPanel
class scrol extends JFrame
{
scrol()
{
//getContentPane().setLayout(new GridLayout(1,2));
JPanel p1=new JPanel();
p1.setLayout(new GridLayout(0,1));
p1.setPreferredSize(new Dimension(300,350));
int n=1;
p1.setBorder(BorderFactory.createLineBorder(new Color(200,167,0)));
JScrollPane scrol1=new JScrollPane(p1);
scrol1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
//scrol1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scrol1.setBounds(0,0,420,405);
getContentPane().add(scrol1,BorderLayout.CENTER);
while(n<100)
{
n=n+1;
p1.add(new JPanel().add(new JLabel("hello")));
}
pack();
setSize(500,500);
setVisible(true);
}
您是否可以至少发布一些代码? – Juxhin 2014-09-28 17:28:53
为了更快地获得更好的帮助,请发布[MCVE](http://stackoverflow.com/help/mcve)(最小完整可验证示例)。 – 2014-09-28 18:01:03
'setVisible(true);'应该在'pack();'之后立即调用' – 2014-09-28 18:29:51