我有一個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