import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Frame extends JFrame {
JPanel contentPane;
public Frame() {
setTitle("esjypt");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 300);
setVisible(true);
contentPane=new JPanel();
setContentPane(contentPane);
contentPane.setLayout(null);
JTextField txtfld=new JTextField();
//txtfld.setVisible(true);
contentPane.add(txtfld);
JButton button=new JButton("按钮");
//txtfld.setVisible(true);
add(button);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
txtfld.setVisible(true);
txtfld.setText("你按了按钮");
}
});
}
public static void main(String[] args) {
Frame frame=new Frame();
}
}
这是使用第二种方法,为什么我的button不显示呢?
因为你contentPane.setLayout(null);把容器的布局设置为了null了,你往里面放组件是放不了的
改成contentPane.setLayout(new BorderLayout());
或者你不设置,Jpanel默认是FlowLayout布局你直接往里面加组件也是可以的