第1个回答 2013-08-19
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; class MyPanel extends JPanel implements ActionListener{ /** * 定义面板的宽和高 */ private int width=300; private int height=300; /** * 两组件 */ private JButton button; private JTextField textField; /** * 构造方法 */ public MyPanel(){ this.setSize(width, height); this.setLayout(null); this.setVisible(true); this.button=new JButton("点击我会变成一个文本框!"); this.button.setBounds(60, 120, 180, 30); this.button.addActionListener(this); this.add(button); this.textField=new JTextField(); this.textField.setBounds(60, 120, 180, 30); this.add(textField); this.textField.setVisible(false); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(e.getSource()==button){ this.textField.setVisible(true); this.button.setVisible(false); } } } public class AAA extends JFrame{ private MyPanel panel; public AAA(){ this.panel=new MyPanel(); this.add(panel); this.setSize(300, 300); this.setVisible(true); } public static void main(String[] args) { new AAA(); } } 看看是不是要的这种效果啊
第4个回答 2017-07-14
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class t extends JFrame {
JButton b = new JButton("隐藏");
JTextField t = new JTextField("123123");
public t() {
add(b, BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
b.setVisible(false);
showText();
}
});
setBounds(100, 100, 200, 100);
setVisible(true);
}
public void showText() {
add(t, BorderLayout.SOUTH);
}
public static void main(String[] args) {
new t();
}
}