2012-03-19 24 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); 

このようにして、パネルにスクロールバーを追加します。しかし、それはボーダーを持つ空のパネルのみを表示します。パネルにコンポーネントが表示されていません。私はそれにいくつかのラベルを追加しましたが。それが正しいか?パネルにスクロールバーを追加する他の方法はありますか?あなたはスクロールバーが以下のように、表示するために、パネルのためのpreferredSizeが設定する必要があり、事前

+2

1)***使用レイアウト。***ツールキットの中で何かがあなたの期待に動作しない場合は2)、「どのように私はXなしYをしますか?」のではなく、あなたは間違って何をしているか尋ねます3)すぐにより良い助けを得るために、[SSCCE](http://sscce.org/)を投稿してください。 –

+1

Java命名規則を覚えておいてください。 – kleopatra

答えて

3

感謝。

レイアウトを設定しなくても、パネルには既定のレイアウトが既に設定されています。

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

まだまだ同じ問題がある –

+0

このパネルを特定の位置に設定したいと思います。私はレイアウトを使用していません。 –

+2

いいえ、決してsetXXSizeを使用しないでください(コンテンツに基づいて妥当な何かを返すのはパネルの仕事です) – kleopatra

関連する問題