2012-05-10 1 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에 재 검증한다() 및/또는 컨테이너에 전화를 시도?