import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class Test extends JFrame {
JPanel pane;
JButton button_1;
JButton button_2;
JLabel label;
Font font; public Test() {
super("替换组件");
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
});
font = new Font("宋体", 0, 12);
pane = new JPanel();
JPanel p = new JPanel();
button_1 = new JButton("替换组件");
button_1.setFont(font);
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
pane.removeAll();
pane.add(new JTextField(10)); //替换
pane.invalidate();
pane.validate();
pane.repaint();
}
});
button_2 = new JButton("删除组件");
button_2.setFont(font);
button_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
pane.removeAll();
pane.repaint();
}
});
label = new JLabel("JLabel 组件");
pane.add(label);
this.getContentPane().add(pane);
this.getContentPane().add(button_1, BorderLayout.NORTH);
this.getContentPane().add(button_2, BorderLayout.SOUTH);
this.setSize(200, 150);
this.setVisible(true);
} public static void main(String[] args) {
new Test();
}
}
import java.awt.*;
import java.awt.event.*;public class Test extends JFrame {
JPanel pane;
JButton button_1;
JButton button_2;
JLabel label;
Font font; public Test() {
super("替换组件");
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
});
font = new Font("宋体", 0, 12);
pane = new JPanel();
JPanel p = new JPanel();
button_1 = new JButton("替换组件");
button_1.setFont(font);
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
pane.removeAll();
pane.add(new JTextField(10)); //替换
pane.invalidate();
pane.validate();
pane.repaint();
}
});
button_2 = new JButton("删除组件");
button_2.setFont(font);
button_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
pane.removeAll();
pane.repaint();
}
});
label = new JLabel("JLabel 组件");
pane.add(label);
this.getContentPane().add(pane);
this.getContentPane().add(button_1, BorderLayout.NORTH);
this.getContentPane().add(button_2, BorderLayout.SOUTH);
this.setSize(200, 150);
this.setVisible(true);
} public static void main(String[] args) {
new Test();
}
}
pane.invalidate();
pane.validate();
pane.repaint();