버튼을 누를 때마다 런타임에 새 패널을 다른 패널에 삽입하려고합니다. 내 문제는 원래 패널의 공간이 부족하여 내가 추가 할 새 패널을 볼 수 없다는 것입니다. 내가 지금까지 시도했습니다 무엇런타임시 세로 스크롤 패널을 사용하여 JPanel을 다른 JPanel에 추가하는 방법은 무엇입니까?
: 없음 성공 세로 스크롤에 대한
- 사용하여 스크롤.
- flowlayout-no luck 사용. 수평 스크롤을 사용하지 않으려는 시도 - 새 패널을 오른쪽으로 계속 밀었습니다 (스크롤이 없기 때문에 새 패널을 가져올 수 없음).
- borderlayout-no 행운을 사용해 보았습니다.
testpanel t = new testpanel();
t.setVisible(true);
this.jPanel15.add(t);
this.jPanel15.validate();
this.jPanel15.repaint();
jpanel15
에 t
패널을 삽입하는 가정이 코드. flowlayout을 사용하면 t
패널을 아래쪽으로 밀어 넣을 수 있습니다. 수직 스크롤을 사용하지 않고 원하는대로 정렬 할 수 있습니다.
추신 : 내 GUI를 만들려면 netbeans를 사용하고 있습니다. 유일한 컨트롤로 BorderLayout.CENTER
에서 JScrollPane
에 넣어
참고 경우 1/뷰 그 JScrollPane도 JPanel입니다.
ctrl.setAlignmentX(Component.LEFT_ALIGNMENT);
–'JPanel pnl = (JPanel) spn.getViewport() .getView();'와 같이 추가 된 컨트롤의 맞춤을 직접 설정해야합니다. return null.it does not return the panel.I 주 패널에 JScrollPane을 추가하고 나머지 코드를 복사했지만 null 포인터 예외가 발생합니다. – user1864229
당신은 JScrollPane을'JScrollPane spn = new JScrollPane (새로운 JPanel())'으로 만들어야 할 것입니다. 그것은 JPanel로 뷰를 설정하는 것을 의미합니다 (생성자의 매개 변수는 이유에 대한 뷰라고합니다).컨테이너가 RootPaneContainer (예 : JFrame 또는 JDialog)에서 파생되는 경우를 대비하여 스크롤 창을 내용 창으로 설정할 수 있습니다. –