实验六、七(简单计算器)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六、七图形应用程序设计

本实验需2次上机时间

上机时间:11月11、18号,星期一。

1、2班11月11 、18号下午2:30-4:05 地点:科技楼423

3、4班11月11、18号上午8:10-9:50地点:科技楼423

实验目的:

熟悉Swing组件及相关方法:掌握常用Swing组件的使用方法、组件的事件监听方法以及主要布局管理器的使用。

实验内容:

编写如下图的一个计算器图形界面,并可进行简单的加减乘除运算。

难点参考代码:

1、编写计算器的逻辑程序、包含加减乘除运算。使用switch语句

来选择不同的运算符。

2、编写计算器图形界面、包含文本和按钮

3、为按钮编写响应函数

import java.awt.Color;

import java.awt.FlowLayout;

import java.awt.GridLayout;

import bel;

import java.awt.Panel;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JFrame;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

public class Calculator extends WindowAdapter implements ActionListener {

JFrame frame;

JTextField show;

JButton bc, c, ce, ab, jia, jian, cheng, chu, equ, point, sqrt, ds, bfh,

zf;

// 按钮退格,清空,复位,关于,加,减,乘,除,等号,小数点,2次方根,倒数,百分号,正负号

JButton b[] = new JButton[10]; // 按钮数组,数字键0~9

double sum = 0, getValue;

int i = 0, j = 0, p = 0, l, action;

JDialog about;

final int slength = 30; // 设置结果显示有效长度

public void disp() {

frame = new JFrame();

frame.setTitle("xx的个人计算器");

frame.setSize(360, 230);

frame.setLocation(380, 260);

frame.setBackground(Color.LIGHT_GRAY);

frame.setLayout(new FlowLayout(FlowLayout.CENTER));

frame.setResizable(false);

//计算器disTop模块,包括数字显示文本框、back,ce,c,about按钮show = new JTextField(31);

show.setText("0");

show.setHorizontalAlignment(SwingConstants.RIGHT);

show.setEditable(false);

frame.add(show);

Panel dispTop = new Panel();

frame.add(dispTop);

dispTop.setLayout(new GridLayout(1, 4, 3, 3));

bc = new JButton(" Back ");

bc.setForeground(Color.BLUE);

dispTop.add(bc);

ce = new JButton(" CE ");

ce.setForeground(Color.BLUE);

dispTop.add(ce);

c = new JButton(" C ");

c.setForeground(Color.BLUE);

dispTop.add(c);

//广告按钮,显示计算器制作者

ab = new JButton(" About ");

ab.setForeground(Color.BLUE);

dispTop.add(ab);

about = new JDialog(frame, "关于计算器", true);

Label ct = new Label("本计算器由xx 制作", 1);

ct.setForeground(Color.RED);

about.add(ct, "Center");

about.setSize(200, 100);

about.setLocation(500, 300);

//主要按钮显示面板包括disLeft和disRight

Panel dispMain = new Panel();

frame.add(dispMain);

dispMain.setLayout(new GridLayout(1, 2, 10, 10));

//disLeft面板,包括0-9、+/-、。这十二个按钮

Panel dispLeft = new Panel();

dispMain.add(dispLeft);

dispLeft.setLayout(new GridLayout(4, 3, 3, 3));

Panel dispRight = new Panel();

//disRight面板,包括+、-、*、/、sqrt、%、1/x、=这个人几个按钮dispMain.add(dispRight);

dispRight.setLayout(new GridLayout(4, 2, 3, 3));

//新建0-9这是个按钮,并将其添加到disLeft中

for (l = 9; l >= 0; l--) {

b[l] = new JButton(String.valueOf(l));

dispLeft.add(b[l]);

b[l].addActionListener(this);

}

//新建其余按钮,并分别将其添加到各自的面板中

jia = new JButton("+");

jia.setForeground(Color.RED);

jian = new JButton("-");

jian.setForeground(Color.RED);

cheng = new JButton("*");

cheng.setForeground(Color.RED);

chu = new JButton("/");

chu.setForeground(Color.RED);

equ = new JButton("=");

equ.setForeground(Color.RED);

point = new JButton(".");

zf = new JButton(" +/- ");

sqrt = new JButton("sqrt");

bfh = new JButton("%");

相关文档
最新文档