大虾好:
     小鸟对JScrollPane有不明白的地方!!
     我们可以通过
     JScrollPane jScrollPane1 = new JScrollPane();
     来产生出一个jScrollPanel对象,
     然后在它上面添加一个JPanel对象
     JPanel jPanel1 = new JPanel();
     jScrollPane1.getViewport().add(jPanel1, null);
     这样一个jPanel1就摆放在jScrollPane1上了     小鸟想问的是有没有删除jScrollPane1上的方法
     比如说象这样的:jScrollPane1.getViewport().delete(jPanel1, null);
     望高手点拨:)

解决方案 »

  1.   

    小鸟的思想是这样的:
    用JB生成一个jScrollPane1, jPanel1, 另外还有一个Panel1 pane = new Panel1();
    (这个Panel1是小鸟我做实验加进去的,为了看它和jPanel1的效果一样不一样)先把jPanel1放在jScrollPane1上:
    jScrollPane1.getViewport().add(jPanel1, null);
    然后如果想进行界面切换操作就直接这样做:
    jScrollPane1.getViewport().add(pane, null);小鸟想知道在JScrollPane 类里有没有跟add()方法相反的操作
    如果没有,那是否可以添加在JScrollPane对象里添加其他的容器然后再进行类似的操作呢?小鸟饿着肚子在线waiting...
      

  2.   

    jScrollPane1.getViewport().remove()不是delete
      

  3.   

    chongkai() 谢谢你的热心帮助,小鸟在JB下查看remove()方法,该方法被重载
     内参分别需要的是:
     void remove(Component)
     void remove(int)
     void remove(MenuComponent) 其中我实验了前两个方法,但不知道是不是我对参数的不了解导致它们都没有成功
     希望我们继续讨论
      

  4.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class RemoveTest implements ActionListener{
      private JButton btn1, btn2;
      private JScrollPane scroll;
      private JLabel label1, label2;  public RemoveTest() {
        JFrame frame = new JFrame();    scroll = new JScrollPane();
        label1 = new JLabel("Label 1");
        label2 = new JLabel("Label 2");    JPanel p = new JPanel();
        btn1 = new JButton("Display label 1");
        btn2 = new JButton("Display label 2");
        btn1.addActionListener(this);
        btn2.addActionListener(this);    frame.getContentPane().add(scroll, BorderLayout.CENTER);
        frame.getContentPane().add(p, BorderLayout.SOUTH);
        p.add(btn1);
        p.add(btn2);    frame.setSize(400, 300);
        frame.setLocation(100, 100);
        frame.validate();
        frame.setVisible(true);
      }  public void actionPerformed(ActionEvent e){
        Object o = e.getSource();
        if(o == btn1){
          scroll.getViewport().remove(label2);
          scroll.getViewport().add(label1);
        }
        else{
          scroll.getViewport().remove(label1);
          scroll.getViewport().add(label2);
        }
      }  public static void main(String[] args){
        RemoveTest test = new RemoveTest();
      }
    }
      

  5.   

    呵呵 
    奥妙全在:
    scroll.getViewport().remove(label1);
    scroll.getViewport().add(label2);小鸟只写了一句指令,所以才...大哥,这20两银子都是你的了,后会有期:)