package 计算器;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
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;
public class JiSuanQiFrame extends JFrame {
String fh; // 后面在运算中 是储存符号的一个成员变量
double ri; // 后面在运算中 是储存运算符前面输入的数的值和运算结果的一个成员变量
/**
* 该数组是用来存储按钮上的信息的额
*/
String[] name = { " C ", "CE", " B ", "+/-", " 7 ", " 8 ", " 9 ", " + ",
" 4 ", " 5 ", " 6 ", " - ", " 1 ", " 2 ", " 3 ", " * ", " . ",
" 0 ", " = ", " / " };
JButton[] button = new JButton[20]; // 创建一个Button(按钮)类型的数组,长度是有多少按钮就建多长的数组
JTextField tf = new JTextField(20); // 创建一个显示输入信息和计算结果的文本框对象
JPanel pn = new JPanel(); // 创建一个面板对象 是放在BorderLayout布局的北面的
JPanel pc = new JPanel(); // 创建一个面板对象 是放在BorderLayout布局的中间的
Color c; // 储存颜色的成员变量
JiSuanQiFrame() { // 构造方法
setTitle("计算器");
getContentPane().setLayout(new BorderLayout());
pn.setLayout(new FlowLayout()); // 给pn面板设置成FlowLayout布局
pc.setLayout(new GridLayout(5, 4)); // 给pc面板设置成GridLayout布局为5行4列
getContentPane().add(pn, BorderLayout.NORTH);
getContentPane().add(pn, BorderLayout.CENTER);
// setLayout(new BorderLayout()); // 界面使用BorderLayout布局
// add(pn, BorderLayout.NORTH); // 添加面板对象pn到BorderLayout的北面
// add(pc, BorderLayout.CENTER); // 添加面板对象pc到BorderLayout的中间
pn.setBackground(c.GRAY); // 设置pn即输入显示结果窗口的背景色为灰色
pc.setBackground(c.gray); // 设置pc即按钮面板背景色为灰色
pn.add(tf); // 把输入信息和计算结果的文本框对象添加到pn中即添加到BorderLayout布局的北面
tf.setEditable(false); // 设置文本框不允许使用键盘编辑
/**
* 利用循环把数组name中的信息添加到对应的Button按钮中去 而且给每个按钮添加了单击事件ActionListener
*/
for (int i = 0; i < button.length; i++) {
button[i] = new JButton(name[i]);
pc.add(button[i]);
// button[i].addActionListener(new ChickListen());
}
//addWindowListener(new ChickListen()); // 给整个窗口添加window事件WindowListener
setSize(250, 200); // 设置整个窗口大小为250x200象素
setLocation(260, 200); // 设置窗口在屏幕上显示的初始位置
// show(); // 显示窗口 已过时,在CMD下不能通过编译 应该使用下面的setVisible(true)显示窗口
setDefaultCloseOperation(3); //关闭窗体
setVisible(true);
}
public static void main(String[] args) {
new JiSuanQiFrame();
}
}
我想向getContentPane()中添加JButton怎么添加不进去呢?
可是我不用getContentPane()直接向窗体中添加就能加进去
[此贴子已经被作者于2007-4-3 16:36:44编辑过]