接上面的java代码class BuildUI extends JFrame implements ActionListener { //JFrame 容器类 Display dis = new Display(); String expression; //文本框字体 final Font resultFont = new Font("Helvetica", Font.PLAIN, 60); //按钮字体 final Font buttonFont = new Font("宋体", Font.PLAIN, 30); ResultBuffer rb = new ResultBuffer(); public void buildLayout() { JPanel calFrame = new JPanel(); calFrame.setBackground(Color.black); /* 七行,四色 */ calFrame.setLayout(new GridLayout(7, 1)); calFrame.add(dis.getResult()); dis.getResult().setFont(resultFont); Container[] con = new Container[6]; /* 设置每个按钮*/ for (int i = 0; i < con.length; i++) { con[i] = new Container(); con[i].setLayout(new GridLayout(1, 4)); calFrame.add(con[i]); } for (int i = 0; i < dis.getButton().length; i++) { JButton newButton = setBtnForm(i);// newButton.setForeground(Color.DARK_GRAY); dis.setButton(newButton, i); con[i / 4].add(newButton); } getContentPane().add(calFrame); expression = ""; }添加注释
时间: 2024-01-23 15:02:04 浏览: 71
//定义一个名为BuildUI的类,继承自JFrame并实现ActionListener接口
class BuildUI extends JFrame implements ActionListener {
Display dis = new Display(); //创建一个Display对象
String expression; //定义表达式字符串
final Font resultFont = new Font("Helvetica", Font.PLAIN, 60); //定义文本框字体
final Font buttonFont = new Font("宋体", Font.PLAIN, 30); //定义按钮字体
ResultBuffer rb = new ResultBuffer(); //创建一个ResultBuffer对象
//构造函数
public void buildLayout() {
JPanel calFrame = new JPanel(); //创建一个JPanel对象作为计算器的主面板
calFrame.setBackground(Color.black); //设置主面板背景颜色为黑色
calFrame.setLayout(new GridLayout(7, 1)); //设置主面板布局为7行1列网格布局
calFrame.add(dis.getResult()); //将文本框添加到主面板中
dis.getResult().setFont(resultFont); //设置文本框字体
Container[] con = new Container[6]; //创建一个长度为6的Container数组
//设置每个按钮
for (int i = 0; i < con.length; i++) {
con[i] = new Container(); //创建一个容器
con[i].setLayout(new GridLayout(1, 4)); //设置容器布局为1行4列网格布局
calFrame.add(con[i]); //将容器添加到主面板中
}
for (int i = 0; i < dis.getButton().length; i++) {
JButton newButton = setBtnForm(i); //创建一个新的按钮
//newButton.setForeground(Color.DARK_GRAY); //设置按钮前景色
dis.setButton(newButton, i); //将按钮添加到Display对象的按钮数组中
con[i / 4].add(newButton); //将按钮添加到对应的容器中
}
getContentPane().add(calFrame); //将主面板添加到容器中
expression = ""; //将表达式字符串初始化为空字符串
}
阅读全文