2017-10-04 6 views
0

내 꼬마 패널을 JPanel 아래쪽에 고정하고 싶습니다. 다음을 시도했습니다.JScrollPane 안에 고정 된 꼬리말

JPanel pane = new JPanel(); 
pane.setLayout(new BorderLayout()); 
pane.add(header, BorderLayout.PAGE_START); 
pane.add(table, BorderLayout.CENTER); 
pane.add(footer, BorderLayout.PAGE_END); 
JScrollPane SP = new JScrollPane(pane, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 

무엇이 여기에 있습니까?

+0

테스트 사례를 만들 수 있습니까? 거의 다 왔어. 또한 [layeredpane] (https://docs.oracle.com/javase/tutorial/uiswing/components/layeredpane.html)을 사용하는 것이 좋습니다. – matt

+0

GUI 코드를 볼 필요가 있습니다. 문제에 관련된 모든 것 : – Steampunkery

+0

@matt, JScrollPane 안에 JTable이 있고 테이블에 footer가 필요합니다. 특별 코드가 없습니다. 미안하지만, 전부 보여줄 수는 없어. 그리고 layeredPane을 사용하려고 시도하지만 바닥 글을 고정 할 수 없습니다. 나는 테이블을위한 수직 스크롤과 수평 스크롤을 가진 테이블 파트로서의 푸터를 갖고 싶다. –

답변

0

이것은 내가

JScrollPane의는 이러한 유형의 기능을 지원하지 않습니다 테이블에 같은 스크롤과 바닥 글을 할 필요가

JPanel child = new JPanel(new BorderLayout()); 
child.add(header, BorderLayout.PAGE_START); 
child.add(table, BorderLayout.CENTER); 
JScrollPane scrollPane = new JScrollPane(child, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 
JPanel pane = new JPanel(new BorderLayout()); 
pane.add(scrollPane, BorderLayout.CENTER); 
pane.add(footer, BorderLayout.PAGE_END); 
+0

고마워,하지만 그렇지 않아. 나는 테이블과 같은 스크롤로 꼬리말을 할 필요가있다. –

+0

컨테이너에 Objecto 창을 추가해야한다. – Dinh

0

작동합니다. 그래서 당신은 어떻게 든 그것을 가짜로 만들 필요가 있습니다.

어쩌면 두 번째 JScrollPane을 바닥 글 구성 요소로 사용할 수 있습니다. 그런 다음 가로 JScrollBar의 모델을 공유합니다. RSDinh의 코드를 출발점으로 사용하면 다음과 같이 할 수 있습니다.

//pane.add(footer, BorderLayout.PAGE_END); 
JScrollPane footerScrollPane = new JScrollPane(footer); 
JScrollBar horizontal = footerScrollPane.getHorizontalScrollBar(); 
horizontal.setModel(scrollPane.getHorizontalScrollBar().getModel()); 
관련 문제