JFrame中Remove是怎么使用的啊? 我这个怎么remove不了?
请高手指点一下,最好说说原因。package com.edu.test;import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import java.util.Vector;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;public class TestRemove extends JFrame{
private Vector vec1 = new Vector();
private Vector vec2 = new Vector();
private JTable jt= null;
private JPanel jp_main = null;
private JPanel jp_center = null;
private JPanel jp_south = null;
private JButton jb_ok = null;
private JButton jb_quit = null;
private JLabel jl_pic = null;
private JScrollPane js = null;
public TestRemove(){
super("测试remove窗体");
vec2.add("列一");
vec2.add("列二");
vec2.add("列三");
vec2.add("列四");
vec2.add("列五");
Vector vec3 = new Vector();
for(int i = 0;i < 5; i++){
vec3.add(i+"");
}
for(int i = 0;i < 5; i++){
vec1.add(vec3);
}
}
public void LanuchFrame(){
jp_main = new JPanel(new BorderLayout());
jp_center = new JPanel();
jp_south = new JPanel();
jt = new JTable(vec1,vec2);
js = new JScrollPane(jt);
jp_center.add(js);
jb_ok = new JButton("显示表格");
jb_quit = new JButton("显示图片");
jp_south.add(jb_ok);
jp_south.add(jb_quit);
/**显示表格*/
jb_ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
remove(jt);
remove(js);
remove(jp_center);
jt = new JTable(vec1,vec2);
js = new JScrollPane(jt);
jp_center.add(js);
jp_main.add(jp_center,BorderLayout.CENTER);
}
});
/**显示图片*/
jb_quit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
remove(jt);
remove(js);
remove(jp_center);
URL url = TestRemove.class.getResource("chart.jpg");
Icon icon = new ImageIcon(url);
jl_pic = new JLabel(icon);
js = new JScrollPane(jl_pic);
jp_center.add(js);
jp_main.add(jp_center,BorderLayout.CENTER);
}
});
jp_main.add(jp_center,BorderLayout.CENTER);
jp_main.add(jp_south,BorderLayout.SOUTH);
this.setContentPane(jp_main);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(400,400);
this.pack();
this.setVisible(true);
}
public static void main(String[] args) {
new TestRemove().LanuchFrame();
}
}
请高手指点一下,最好说说原因。package com.edu.test;import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import java.util.Vector;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;public class TestRemove extends JFrame{
private Vector vec1 = new Vector();
private Vector vec2 = new Vector();
private JTable jt= null;
private JPanel jp_main = null;
private JPanel jp_center = null;
private JPanel jp_south = null;
private JButton jb_ok = null;
private JButton jb_quit = null;
private JLabel jl_pic = null;
private JScrollPane js = null;
public TestRemove(){
super("测试remove窗体");
vec2.add("列一");
vec2.add("列二");
vec2.add("列三");
vec2.add("列四");
vec2.add("列五");
Vector vec3 = new Vector();
for(int i = 0;i < 5; i++){
vec3.add(i+"");
}
for(int i = 0;i < 5; i++){
vec1.add(vec3);
}
}
public void LanuchFrame(){
jp_main = new JPanel(new BorderLayout());
jp_center = new JPanel();
jp_south = new JPanel();
jt = new JTable(vec1,vec2);
js = new JScrollPane(jt);
jp_center.add(js);
jb_ok = new JButton("显示表格");
jb_quit = new JButton("显示图片");
jp_south.add(jb_ok);
jp_south.add(jb_quit);
/**显示表格*/
jb_ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
remove(jt);
remove(js);
remove(jp_center);
jt = new JTable(vec1,vec2);
js = new JScrollPane(jt);
jp_center.add(js);
jp_main.add(jp_center,BorderLayout.CENTER);
}
});
/**显示图片*/
jb_quit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
remove(jt);
remove(js);
remove(jp_center);
URL url = TestRemove.class.getResource("chart.jpg");
Icon icon = new ImageIcon(url);
jl_pic = new JLabel(icon);
js = new JScrollPane(jl_pic);
jp_center.add(js);
jp_main.add(jp_center,BorderLayout.CENTER);
}
});
jp_main.add(jp_center,BorderLayout.CENTER);
jp_main.add(jp_south,BorderLayout.SOUTH);
this.setContentPane(jp_main);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(400,400);
this.pack();
this.setVisible(true);
}
public static void main(String[] args) {
new TestRemove().LanuchFrame();
}
}
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import java.util.Vector;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;public class TestRemove extends JFrame {
private Vector vec1 = new Vector();
private Vector vec2 = new Vector();
private JTable jt= null;
private JPanel jp_main = null;
private JPanel jp_center = null;
private JPanel jp_south = null;
private JButton jb_ok = null;
private JButton jb_quit = null;
private JLabel jl_pic = null;
private JScrollPane js = null;
public TestRemove(){
super("测试remove窗体");
vec2.add("列一");
vec2.add("列二");
vec2.add("列三");
vec2.add("列四");
vec2.add("列五");
Vector vec3 = new Vector();
for(int i = 0;i < 5; i++){
vec3.add(i+"");
}
for(int i = 0;i < 5; i++){
vec1.add(vec3);
}
}
public void lanuchFrame(){
jp_main = (JPanel)getContentPane();
jp_center = new JPanel();
jp_south = new JPanel();
jt = new JTable(vec1,vec2);
jb_ok = new JButton("显示表格");
jb_quit = new JButton("显示图片");
jp_south.add(jb_ok);
jp_south.add(jb_quit); /**显示表格*/
jb_ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jp_center.removeAll();
remove(jp_center);
js = new JScrollPane(jt);
jp_center.add(js);
jp_main.add(jp_center,BorderLayout.CENTER);
jp_main.revalidate();
}
});
/**显示图片*/
jb_quit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jp_center.removeAll();
remove(jp_center);
URL url = TestRemove.class.getResource("chart.jpg");
Icon icon = new ImageIcon(url);
jl_pic = new JLabel(icon);
js = new JScrollPane(jl_pic);
jp_center.add(js);
jp_main.add(jp_center,BorderLayout.CENTER);
jp_main.revalidate();
}
});
jp_main.add(jp_center,BorderLayout.CENTER);
jp_main.add(jp_south,BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setPreferredSize(new Dimension(400,300));
this.pack();
this.setLocation(400,400);
this.setVisible(true);
}
public static void main(String[] args) {
java.awt.EventQueue.invokeLater(new Runnable(){
public void run(){
new TestRemove().lanuchFrame();
}
});
}
}