计算机软件实习每日学习打卡(2)20201203
实验序号:实验一
实验名称:简单计算器的实现
实验要求:
- 学习图形界面的设计,利用 MFC 应用程序(Java swing 或 QT 框架,或 C#)创建基于对话框的应用程序,添加按钮、编辑框等控件;
- 能通过设计的按钮控件输入并实现简单算术运算,要求表达式在编辑框中显示,能将运算结果,输出在编辑框内显示;并保存历史的表达式运算记录。
- 也能够实现混合运算的算术表达式求解,算术表达式中包括加、减、乘、除、括号等运算符;并且能够识别括号,优先级正确。
日志:
1.完成的部分:对按钮格式,计算器显示格式和整体格式进行规范和初始化,并进行封装。
2.代码如下:
package experiment1;import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;class Layout{public static void run() {JFrame jf = new JFrame("测试窗口");jf.setSize(150,150);JTextField view = null;jf.setResizable(false);view = new JTextField("0");view.setHorizontalAlignment(JTextField.RIGHT);//设置为只读view.setEditable(false);//设置背景色view.setBackground(new Color(192, 192, 192));//设置字体 粗细 大小view.setFont(new Font("Cambria", Font.BOLD, 20)); //键盘布局构建JPanel panel01 = new JPanel(new GridLayout(3, 4, 10, 10));JPanel panel02 = new JPanel(new GridLayout(1, 3, 10, 10));JPanel panel03 = new JPanel(new GridLayout(1, 1, 10, 10));JPanel panel04 = new JPanel(new GridLayout(1, 1, 10, 10));JPanel panel05 = new JPanel(new GridLayout(1, 1, 10, 10));//定义按钮JButton btn01 = new JButton("1");btn01.setBackground(Color.white);btn01.setBorder(new LineBorder(Color.black,1));JButton btn02 = new JButton("2");btn02.setBackground(Color.white);btn02.setBorder(new LineBorder(Color.black,1));JButton btn03 = new JButton("3");btn03.setBackground(Color.white);btn03.setBorder(new LineBorder(Color.black,1));JButton btn04 = new JButton("4");btn04.setBackground(Color.white);btn04.setBorder(new LineBorder(Color.black,1));JButton btn05 = new JButton("5");btn05.setBackground(Color.white);btn05.setBorder(new LineBorder(Color.black,1));JButton btn06 = new JButton("6");btn06.setBackground(Color.white);btn06.setBorder(new LineBorder(Color.black,1));JButton btn07 = new JButton("7");btn07.setBackground(Color.white);btn07.setBorder(new LineBorder(Color.black,1));JButton btn08 = new JButton("8");btn08.setBackground(Color.white);btn08.setBorder(new LineBorder(Color.black,1));JButton btn09 = new JButton("9");btn09.setBackground(Color.white);btn09.setBorder(new LineBorder(Color.black,1));JButton btn10 = new JButton("0");btn10.setBackground(Color.white);btn10.setBorder(new LineBorder(Color.black,1));JButton btn11 = new JButton("+");btn11.setBackground(Color.white);btn11.setBorder(new LineBorder(Color.black,1));JButton btn12 = new JButton("-");btn12.setBackground(Color.white);btn12.setBorder(new LineBorder(Color.black,1));JButton btn13 = new JButton("*");btn13.setBackground(Color.white);btn13.setBorder(new LineBorder(Color.black,1));JButton btn14 = new JButton("/");btn14.setBackground(Color.white);btn14.setBorder(new LineBorder(Color.black,1));JButton btn15 = new JButton("(");btn15.setBackground(Color.white);btn15.setBorder(new LineBorder(Color.black,1));JButton btn16 = new JButton(")");btn16.setBackground(Color.white);btn16.setBorder(new LineBorder(Color.black,1));JButton btn17 = new JButton("C");btn17.setBackground(Color.white);btn17.setBorder(new LineBorder(Color.black,1));JButton btn18 = new JButton("=");btn18.setBackground(Color.white);btn18.setBorder(new LineBorder(Color.black,1));btn01.setPreferredSize(new Dimension(60,60));btn04.setPreferredSize(new Dimension(60,60));btn10.setPreferredSize(new Dimension(130,60));btn17.setPreferredSize(new Dimension(60,60));btn18.setPreferredSize(new Dimension(60,130));view.setPreferredSize(new Dimension(270,60));panel01.add(btn11);panel01.add(btn12);panel01.add(btn13);panel01.add(btn14);panel01.add(btn07);panel01.add(btn08);panel01.add(btn09);panel01.add(btn15);panel01.add(btn04);panel01.add(btn05);panel01.add(btn06);panel01.add(btn16);panel02.add(btn01);panel02.add(btn02);panel02.add(btn03);panel03.add(btn10);panel04.add(btn17);panel05.add(btn18);//装箱布局//创建间隔Component vStrut01 = Box.createVerticalStrut(10);Component vStrut02 = Box.createVerticalStrut(10);Component vStrut03 = Box.createVerticalStrut(10);Component vStrut04 = Box.createVerticalStrut(10);Component vStrut05 = Box.createVerticalStrut(10);Component hStrut01 = Box.createHorizontalStrut(10);Component hStrut02 = Box.createHorizontalStrut(10);Component hStrut03 = Box.createHorizontalStrut(10);Component hStrut04 = Box.createHorizontalStrut(10);Box hBox01 = Box.createHorizontalBox();hBox01.add(panel03);hBox01.add(hStrut01);hBox01.add(panel04);Box vBox01 = Box.createVerticalBox();vBox01.add(panel02);vBox01.add(vStrut01);vBox01.add(hBox01);Box hBox02 = Box.createHorizontalBox();hBox02.add(vBox01);hBox02.add(hStrut02);hBox02.add(panel05);Box vBox02 = Box.createVerticalBox();vBox02.add(vStrut02);vBox02.add(view);vBox02.add(vStrut03);vBox02.add(panel01);vBox02.add(vStrut04);vBox02.add(hBox02);vBox02.add(vStrut05);Box hBox03 = Box.createHorizontalBox();hBox03.add(hStrut03);hBox03.add(vBox02);hBox03.add(hStrut04);jf.setContentPane(hBox03);jf.pack();jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);jf.setLocationRelativeTo(null);jf.setVisible(true);}
public class Calculator {}public static void main(String[] args) {Layout.run();}
}
3.实例图片:
4. 目前未解决的问题:
1钮还未设置触发器。
2计算部分还未完成。
5 .明天的目标:
1.完成运算部分和显示部分
学习的资料
《Java程序设计教程》机械工业出版社 程科 潘磊主编 ISBN 978-7-111-50902-8
20201203
计算机软件实习每日学习打卡(2)20201203相关推荐
- 10.24 每日学习打卡
包装类wrapper 针对8种基本类型相应的引用类型 装箱操作为各包装类的valueof方法(默认调用) 包装类和String类型的转换 包装类->String 新建str对象 toString ...
- 每日辣评:微信禁朋友圈学习打卡、明星生图、支付宝、小红书
文/王易见 知名科技KOL,四川创业者联盟发起人 QQ:543415188,微信:543415188 ,约稿.公关.营销传播.欢迎合作! [微信禁朋友圈"学习打卡",我是这么看的] ...
- 艾为数字ic面试题_每日学习:数字后端面试100问(2019全新版)
关注并标星大同学吧 每天1次,打卡学习 积累1个新知识,增1分职场底气 作者称谓:Tao涛 个人介绍:摸爬滚打多年的数字后端工程师 微信公众号:数字后端IC芯片设计 半导体知识分享第29期 技能升级, ...
- bin文件如何编辑_每日学习:Linux文件与目录管理常用命令解析
关注并标星大同学吧 每天1次,打卡学习 积累1个新知识,增1分职场底气 作者称谓:Jack xu 个人介绍:不断学习的数字后端工程师 微信公众号:志芯 半导体知识分享第25期 技能升级,从这里开始 1 ...
- java时序图工具_每日学习:静态时序分析入门面面观
关注并标星大同学吧 每天1次,打卡学习 积累1个新知识,增1分职场底气 作者称谓:Jack xu 个人介绍:不断学习的数字后端工程师 微信公众号:志芯 半导体知识分享第41期 技能升级,从这里开始 本 ...
- 前端捕捉轨迹_基于JavaScript实现每日签到打卡轨迹功能
本文实例为大家分享了js实现每日签到打卡轨迹功能的具体代码,供大家参考,具体内容如下 1. 核心文件 calendar.js var calUtil = { //当前日历显示的年份 showYear: ...
- 基于微信小程序的每日签到打卡
社会的发展和科学技术的进步,互联网技术越来越受欢迎.手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用.手机具有便利性,速度快,效率高,成本低等优点. 因此,构建符合自己要求的操作系统是非常 ...
- html5 签到系统功能,项目实战之基于JavaScript实现每日签到打卡轨迹功能
今天扣丁学堂HTML5培训老师给大家介绍一下关于js实现每日签到打卡轨迹功能的具体代码,希望对同学们学习HTML5开发有所帮助,下面我们一起来看一下吧. 1.核心文件calendar.js var c ...
- 计算机软件实习日志(三)基于 A*搜索算法迷宫游戏开发
文章目录 界面展示 前言 一.实验要求? 二.实验准备 三.设计思路 1.A*算法的理解 算法描述 简化搜索区域 简化地图 概述算法步骤 进一步解释 具体寻路过程 F值计算方式: 2.开发思路 使用Q ...
- 计算机软件实习(一)简单计算机
计算机软件实习(一)简单计算机 实验内容: (1) 学习图形界面的设计,利用 MFC 应用程序(Java swing 或 QT 框架,或 C#)创 建基于对话框的应用程序,添加按钮.编辑框等控件: ( ...
最新文章
- Java连接Oracle数据库常用方法
- QTreeWidget 读取windows注册表
- 這個日本味超濃的建築竟然是台灣的小學
- 10.25 es问题
- (八) stm8程序段定位,理解lkf文件
- tp5循环查询语句_tp5 foreach 套循环的优化(就是foreach 里边再查表)
- Jenkins实现Android自动化打包
- 虚拟机安装黑群晖_【群晖系统】HEI群辉DSM 6.2.1 系统安装图文教程 (19年2月)
- 第三季1:ORTP库的移植与局域网视频传输
- Android 系统性能优化(72)-----App启动优化
- 如何高效阅读 Spark 和 Hadoop 这类大型开源项目源代码?
- 微信小程序远程git代码管理
- matlab 填充透明色,在Matlab中使用透明像素填充数组
- 《Git与Github使用笔记》第12章 Pull Request的使用
- 消息称聊天宝团队解散 罗永浩已经退出股东行列
- web service 优缺点
- 平台建设的7大问题:蚂蚁AI平台实践深度总结
- 轮廓图(Silhouette)
- Win10电脑怎么更改UEFI固件设置
- 人工智能的八大业界领先的机器学习使用场景
热门文章
- 全网首发国内联邦学习框架研究
- protected和包访问权限
- 《面膜行业网络关注度分析报告》
- 2022江苏省职业院校技能大赛(中职)网络搭建与应用赛项
- springboot基于微信小程序的驾校驾驶证报名练车预约小程序 uinapp 计算机毕业设计
- 《水浒传》108将的绰号(ZZ)
- 外显子分析思路总结(Exome Sequencing Analysis review)
- 如何理解新技术带来的新资产类别?
- 【已解决】Android Studio下,gradle project sync failed 错误
- 交互式电子白板android,交互式电子白板_触摸屏电子白板_智能电子白板_GESEE国视科技...