2012-03-19 43 views
0

我开发了一个桌面应用程序。现在在那个应用程序中,我想用滚动条添加面板。我正在尝试使用JScrollPane,但它不工作。任何其他方式将滚动条添加到JscrollPane以外的JPanel

JPanel paraJPanel = new JPanel(); 
JScrollPane SP_para_list = new JScrollPane(paraJPanel); 
add(SP_para_list).setBounds(10,30,250,350); 

这样我就添加滚动条到面板。但它只显示带有边框的空白面板。它没有显示面板中的组件。尽管我在其中添加了几个标签。这是对的吗?有没有其他的方式来添加滚动条到面板。

在此先感谢

+2

1)使用***布局。*** 2)当一些工具包中的不工作,你的期望,请问你在做什么错,而不是“我该怎么办Ÿ没有X?” 3)为了更快得到更好的帮助,请发布[SSCCE](http://sscce.org/)。 – 2012-03-19 06:34:03

+1

请学习java的命名约定,并坚持他们 – kleopatra 2012-03-19 10:18:01

回答

3

您需要设置PREFERREDSIZE的面板,使滚动条显示出来,如下图所示。

即使您没有设置布局,面板中也已经有一个默认布局集。

public static void main(String[] args) 
{ 
    JFrame frame = new JFrame(); 
    JPanel panel = new JPanel() 
    { 
     @Override 
     public Dimension getPreferredSize() { 
      return new Dimension(800, 1000); 
     } 
    }; 
    panel.add(new JLabel("Test1")); 
    panel.add(new JLabel("Test2")); 
    frame.getContentPane().add(new JScrollPane(panel), BorderLayout.CENTER); 
    frame.setSize(600, 800); 
    frame.setVisible(true); 
} 
+0

nope ..仍然有同样的问题 – 2012-03-19 05:09:15

+0

我想把这个面板设置到一个特定的位置。我没有使用任何布局。 – 2012-03-19 05:10:20

+2

不,永远不会使用setXXSize(这是面板的工作,根据其内容返回合理的东西) – kleopatra 2012-03-19 10:19:52