我自己做了一个java的小例子,但是文本框就是显示不出来.请看源代码.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;class MyFrame extends JFrame {
JPanel panel;
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JTextField txtMessage = new JTextField();//如果写成new JTextField("abcd");就可以显示出来一个带有abcd的字样的文本框.否则就显示不出来.通过使用setSize设置大小也不行.我很疑惑.
JLabel label1 = new JLabel("显示消息");
JPanel panel2;

MyFrame() {
button1 = new JButton("东");
button2 = new JButton("南");
button3 = new JButton("西");
button4 = new JButton("北");
panel2 = new JPanel();
panel2.setLayout(new FlowLayout());
panel2.setBackground(Color.green);

button1.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e) {
txtMessage.setText("您点击了按钮东");
}
});
button2.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e){
txtMessage.setText("您点击了按钮南");
}
});
button3.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e){
txtMessage.setText("您点击了按钮西");
}
});
button4.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e){
txtMessage.setText("您点击了按钮北");
}
});
panel = (JPanel) getContentPane();
panel.setLayout(new BorderLayout());
panel.add(button1, java.awt.BorderLayout.EAST);
panel.add(button2, java.awt.BorderLayout.SOUTH);
panel.add(button3,BorderLayout.WEST);
panel.add(button4,BorderLayout.NORTH);
panel.add(panel2,BorderLayout.CENTER);
panel2.add(label1);
panel2.add(txtMessage);
}
}public class LayoutTest {
public static void main(String args[]) {
MyFrame frame = new MyFrame();
frame.setSize(300,200);
frame.setVisible(true);
}
}