- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jav稳a普通计算器
基本思想:建立窗口时,我后面才想到把所有的组件先放到Container容器中。我先把计算器分解成,菜单栏,输入区,按钮区,分别对三个函数实现相应的操作,最后在计算器构造函数调用绑定到窗口。我创建了计算符操作按钮、非计算操作按钮、菜单监听器,三个监听器来实现菜单和按钮监听。对于各组件我采用GridBagLayout可变布局,再GridBagConstraints对布局组件布局设置。JTextField输入区全局定义为了方便按钮的输入。创建一个按钮函数,有利于添加的按钮布局设置以及根据不同类型的按钮添加不同的监听器。因为计算器有整数和小数计算的区别,我创建一个数值类根据不同的值,计算后返回不同的类型,在类内部实现数值的计算操作。最后单独一个函数来实现计算操作。
import java.awt.Container;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class Caculat extends JFrame{
private GridBagLayout layout=new GridBagLayout();//可变布局
private GridBagConstraints constraints=new GridBagConstraints();//布局设置
private Container container=new Container();//容器,用于储存组件,最后一起添加到窗口
JTextField textField=new JTextField();//输入区
int fpoint=0;//textField 光标定位
String last=0;//存储最后输入的数字
String copty=;//编辑时使用
Numer result=new Numer();//结果暂存
Numer num=new Numer();//输入暂存
private String lastCommand==;//保存+,-,*,/,=命令
Numer M;//结果存储器
boolean upfirst=true;//判断是否首次使用向上
private boolean start=false;//判断是否为数字的开始
private boolean setoperator=false;//判断是否使用计算符
private boolean den=false;//判断是否刚刚使用等号
public Caculat(){
super(计算器);
container.setLayout(layout);
addMenu();
addTextField();
addButton();
add(container);
}
//添加菜单
private void addMenu(){
JMenu menus[]=new JMenu[3];//主菜单
menus[0]=new JMenu(查看(V));
menus[0].setMnemonic(F);
menus[1]=new JMenu(编辑(E));
menus[1].setMnemonic(E);
menus[2]=new JMenu(帮助(H));
menus[2].setMnemonic(H);
JMenuItem lookItem[]=new JMenuItem[2];//子菜单
JMenuItem aditItem[]=new JMenuItem[3];
JMenuItem helpItem[]=new JMenuItem[2];
lookItem[0]=new JMenuItem(普通型(O));
lookItem[0].setMnemonic(O);//快捷键
lookItem[1]=new JMenuItem(标准型(T));
lookItem[1].
您可能关注的文档
最近下载
- 大麦EK318.操作手册.C01.220905.pdf
- 五马先生纪年.docx VIP
- 急救与心理技能(视频课)知到课后答案智慧树章节测试答案2025年春中南大学.docx VIP
- 应急救援员国家职业技能标准(2019年版).pdf VIP
- 场地设计作图题-一级建筑师场地设计(作图题)真题精选.docx VIP
- 小学环境教育:校园内水体污染调查与水质保护实践教学研究课题报告.docx
- 阿迪达斯(Adidas)品牌现状分析与二次增长战略规划.pptx
- 人教版七年级上册数学一元一次方程计算题及应用题.docx VIP
- 人教版2025八年级上册英语Unit3 same or different单元复习课件.pptx VIP
- 濒危古树评估与抢救保护技术规程.docx VIP
文档评论(0)