2016-09-26 5 views
0

JFrame에서 JScrollPane을 어떻게 제거 할 수 있습니까? 여기 JFrame에서 JScrollPane을 제거하려면 어떻게해야합니까?

내가 뭘하려의 예이지만, 그것은 작동하지 않습니다 :

Container gContentPane = frame.getContentPane(); 
JScrollPane scroll = new JScrollPane(gContentPane); 
frame.setContentPane(scroll); 
frame.revalidate(); 
frame.repaint(); 

if (scroll != null){ 
    frame.getContentPane().remove(scroll);      
    frame.revalidate(); 
    frame.repaint(); 
} 

JScrollPaneframe.getContentPane().remove(scroll); 후이 아직도있다. 제거를 위해 무엇을 변경해야합니까?

+1

정말로 frame.setContentPane (scroll)을'frame.getContentPane(). add (scroll)'로 변경해야합니다. 현재, 코드 자체에서 JScrollPane을 제거하려고 시도하고 있습니다. – VGR

+0

[이 답변] (http://stackoverflow.com)에 표시된대로 ['CardLayout'] (http://download.oracle.com/javase/8/docs/api/java/awt/CardLayout.html)을 사용하십시오./a/5786005/418556). –

답변

2

스윙에서 제거하고 싶다면 먼저 추가해야합니다. 스크롤 창을 아무 곳에도 추가하지 않았으므로 내용 창을 이전 창으로 변경하는 것이 좋습니다.

Container gContentPane = frame.getContentPane(); 
JScrollPane scroll = new JScrollPane(gContentPane); 
frame.setContentPane(scroll); 
frame.revalidate(); 
frame.repaint(); 

if (scroll != null) { 
    frame.setContentPane(gContentPane); 
    frame.revalidate(); 
    frame.repaint(); 
} 
+0

문제가 해결되었습니다. 대단히 감사합니다. – user2129896

관련 문제