2012-05-10 38 views
1

誰かが助けてくれることを望んでいました。これは単純な問題であるはずだが、私の人生にとってはうまくいかない。JPanelが追加されたときにJScrollPaneがスクロールしない

問題:ImageIconsという5つのラベルを含むパネルで構成されるJPanelを作成しています。 [混乱する音]

このパネルをJScrollPaneに追加します。しかし、それが表示されているときに、画像が表示され、正しく配置されていますが、スクロールして画面外のパネルを見ることができません。ここ

はスクリーンショットです:ここではhttp://img841.imageshack.us/img841/36/screenshot20120510at160.png

は、私は、パネルを移入し、JScrollPaneを追加するために使用していたコードのスニペットです。

private void setSeriesViewContainer(){ 
    container = new BackgroundPanel(backGround, BackgroundPanel.TILED); 
    //container.setPreferredSize(new Dimension(650,500)); 
    container.setLayout(new BoxLayout(container, BoxLayout.PAGE_AXIS)); 
    FlowLayout flowLayout = new FlowLayout(); 
    JPanel[] jp = new BackgroundPanel[10]; 
     for (int i = 0; i < jp.length; i++) { 
     jp[i] = new BackgroundPanel(backGround, BackgroundPanel.TILED); 
     jp[i].setLayout(flowLayout); 
      for (int j = 0; j < 10; j++) { 
       jp[i].add(new JLabel(new   ImageIcon(getClass().getResource("/placeHolder.png")))); 

      } 

    } 
     for (int i = 0; i < jp.length; i++) { 
     container.add(jp[i]); 

    } 
public void init(){ 
seriesViewContainer = new javax.swing.JScrollPane(container); 
seriesViewContainer.setBorder(null); 
     seriesViewContainer.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); 
    seriesViewContainer.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); 
    seriesViewContainer.setPreferredSize(new java.awt.Dimension(700, 300));} 

解決策については検索しましたが、まだ解決策はありません。

+0

コードの書式設定にもう少し時間がかかることがあります。それは読むのをより容易にし、助けを受けるでしょう。 –

+2

また、[SSCCE](http://sscce.org/)は、スクリーンショットよりもGUIのより完全な「画像」を描くことにも注意してください。 –

答えて

2

container.setPreferredSize(new Dimension(x,y));コンテナのサイズは、スクロールペインのサイズより大きくする必要があります。

私がsetPreferredSize()を読んだことは良いことではありません。問題はおそらくコンテナまたはjpのLayoutManagerです。ここ

同じ問題:Java Swing: JScrollPane not working

0

はあなたがそれぞれ追加した後にJScrollPaneの再検証()および/またはコンテナを呼び出そうとしましたがありますか?

関連する問題