Java 如何从JFrame中删除JScrollPane?

Java 如何从JFrame中删除JScrollPane?,java,swing,jframe,jscrollpane,Java,Swing,Jframe,Jscrollpane,如何从JFrame中删除JScrollPane 下面是我尝试过的一个例子,但它不起作用: Container gContentPane = frame.getContentPane(); JScrollPane scroll = new JScrollPane(gContentPane); frame.setContentPane( scroll ); frame.revalidate(); frame.repaint(); if (scroll != null){ frame.get

如何从
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();
}

即使在
frame.getContentPane()之后,
JScrollPane
仍然存在。要删除它,我需要更改什么?

如果要删除Swing中的某些内容,首先必须添加它。您没有在任何地方添加滚动窗格,因此我建议将内容窗格更改为上一个

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();
}

如果您想删除Swing中的某些内容,首先必须添加它。您没有在任何地方添加滚动窗格,因此我建议将内容窗格更改为上一个

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();
}

您确实应该将frame.setContentPane(滚动)更改为
frame.getContentPane().add(滚动)
。当前,您的代码正在尝试从自身删除JScrollPane。请使用中所示的。您确实应该将frame.setContentPane(滚动)更改为
frame.getContentPane()。添加(滚动)
。当前,您的代码正在尝试从自身删除JScrollPane。