如下是我编写的需要显示三个按钮 和一个JTextArea区域的代码 可是运行时只能显示JTextArea区域 按钮不能显示 是什么原因呢?
import java.awt.*;
import javax.swing.*;public class TextEdit {
JButton button1,button2,button3;
JTextArea textarea;
JFrame frame;
JPanel panel1,panel2;
public TextEdit(){
frame = new JFrame("TextArea");
Container c = frame.getContentPane();
button1 = new JButton("保存");
button2 = new JButton("取消");
button3 = new JButton("退出");
panel1 = new JPanel();
panel1.add(button1);
panel1.add(button2);
panel1.add(button3);
textarea = new JTextArea();
textarea.setLineWrap(true);
JScrollPane area=new JScrollPane(textarea);
c.add(panel1);
c.add(textarea);
frame.setSize(400,200);
frame.setVisible(true);
}
public static void main(String[] args) {
new TextEdit();
}}
import java.awt.*;
import javax.swing.*;public class TextEdit {
JButton button1,button2,button3;
JTextArea textarea;
JFrame frame;
JPanel panel1,panel2;
public TextEdit(){
frame = new JFrame("TextArea");
Container c = frame.getContentPane();
button1 = new JButton("保存");
button2 = new JButton("取消");
button3 = new JButton("退出");
panel1 = new JPanel();
panel1.add(button1);
panel1.add(button2);
panel1.add(button3);
textarea = new JTextArea();
textarea.setLineWrap(true);
JScrollPane area=new JScrollPane(textarea);
c.add(panel1);
c.add(textarea);
frame.setSize(400,200);
frame.setVisible(true);
}
public static void main(String[] args) {
new TextEdit();
}}
=>
c.add(panel1,BorderLayout.NORTH);
不加的话默认在BorderLayout.CENTER. 后添加的覆盖同一位置前面添加的组件。
BorderLayout布局 是东西南北中布局
c.add()在默认的情况下 是在 中的 在往对象c里添加组件时要考虑望哪方,不指定位置的话后面加上的组件会覆盖前面加上的组件的