2016-09-26 2 views
0

JScrollPaneJFrameから削除するにはどうすればよいですか?ここで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(); 
} 

JScrollPaneさえframe.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

関連する問題