社区
Eclipse
帖子详情
关于JAVA设置一个简易的计算器问题
qq_43156339
2019-05-05 11:46:18
设置的文本框显示不出来,多个按钮设置的也没有,就只显示一个超大的按钮。
...全文
47
回复
打赏
收藏
关于JAVA设置一个简易的计算器问题
设置的文本框显示不出来,多个按钮设置的也没有,就只显示一个超大的按钮。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Java
编写的
简易
计算器
package chapter11_3; import
java
.awt.BorderLayout; import
java
.awt.Color; import
java
.awt.GridLayout; import
java
.awt.event.ActionEvent; import
java
.awt.event.ActionListener; import
java
x.swing.ImageIcon; import
java
x.swing.JButton; import
java
x.swing.JFrame; import
java
x.swing.JOptionPane; import
java
x.swing.JPanel; import
java
x.swing.JTextField; public class Calculator extends JFrame implements ActionListener { private String[] str = { "7", "8", "9", "/", "sqrt", "4", "5", "6", "*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" }; private JTextField tf_out; private JButton jb_bk, jb_ce, jb_c; private JButton[] jb_key; private char ch = '#'; private boolean can = false; private double num1; public void creatGUI() { tf_out = new JTextField(); tf_out.setHorizontalAlignment(JTextField.RIGHT); tf_out.setColumns(18); tf_out.setEditable(false); //
设置
输出不可编辑 tf_out.setText("0"); this.add(tf_out, BorderLayout.NORTH); JPanel p = new JPanel(new BorderLayout(3, 8)); JPanel p1 = new JPanel(new GridLayout(1, 3, 3, 10)); p.add(p1, "North"); jb_bk = new JButton("Backspace"); jb_bk.setForeground(Color.RED); jb_bk.addActionListener(this); jb_ce = new JButton("CE"); jb_ce.setForeground(Color.RED); jb_ce.addActionListener(this); jb_c = new JButton("C"); jb_c.setForeground(Color.RED); jb_c.addActionListener(this); p1.add(jb_bk); p1.add(jb_ce); p1.add(jb_c); JPanel p2 = new JPanel(new GridLayout(4, 5, 3, 3)); p.add(p2, BorderLayout.CENTER); jb_key = new JButton[str.length]; for (int i = 0; i < str.length; i++) { jb_key[i] = new JButton(str[i]); jb_key[i].addActionListener(this); if (i == 3 || i == 8 || i == 13 || i == 18 || i == 19) { jb_key[i].setForeground(Color.RED); } else { jb_key[i].setForeground(Color.BLUE); } p2.add(jb_key[i]); } this.add(p, BorderLayout.CENTER); this.setTitle("
计算器
"); this.setIconImage(new ImageIcon("image/1.jpg").getImage()
基于
JAVA
语言的
计算器
图形界面设计.doc
题目:
简易
计算器
的设计 一、设计概要 1、设计内容
计算器
的设计使用图形用户界面实现,能够进行简单的加、减、乘、除四则计算 ; 参与运算的数字通过点击按钮输入。 2、程序流程图 详细设计 import
java
.awt.BorderLayout; //导入AWT页面
设置
类 import
java
.awt.Button; //导入AWT按钮类 import
java
.awt.Frame; import
java
.awt.GridLayout; import
java
.awt.Panel; import
java
.awt.TextField; import
java
.awt.event.MouseEvent; import
java
.awt.event.MouseListener; //导入AWT鼠标监视器 import
java
.awt.event.WindowEvent; import
java
.awt.event.WindowListener;//导入AWT窗口监视器 //创建
计算器
的主窗口,该类含有main函数 public class Calculator { public static void main(String[] args) { //创建Frame对象 Frame f = new Frame("Calculator"); //创建文本框,用于接收数字和操作 final TextField tf = new TextField(); //声明
一个
面板用于存放按钮 Panel p = new Panel(); f.setLayout(new BorderLayout()); //将文本框放在北部 f.add(tf, BorderLayout.NORTH); //将按钮放于中部 f.add(p, BorderLayout.CENTER); //
设置
布局模式 p.setLayout(new GridLayout(4, 4)); //创建16个按钮 Button one = new Button("1"); Button two = new Button("2"); Button three = new Button("3"); Button four = new Button("4"); Button five = new Button("5"); Button six = new Button("6"); Button seven = new Button("7"); Button eight = new Button("8"); Button nine = new Button("9"); Button zero = new Button("0"); Button add = new Button("+"); Button sub = new Button("-"); Button mul = new Button("*"); Button div = new Button("/"); Button decimal = new Button("."); final Button equal = new Button("="); //将按钮添加到P p.add(one); p.add(two); p.add(three); p.add(four); p.add(five); p.add(six); p.add(seven); p.add(eight); p.add(nine); p.add(zero); p.add(add); p.add(sub); p.add(mul); p.add(div); p.add(decimal); p.add(equal); final String[] ary = {"", null, ""}; //该类为主类创建数字按钮对象 class NumMouseListener implements MouseListener{ public void mouseClicked(MouseEvent e) { String num = ((Button)e.getSource()).getLabel().trim(); if(ary[1] == null) { ary[0] = ary[0] + "" + num; } else{ ary[2] = ary[2] + "" + num; } tf.setText(tf.getText() + "" + num); } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(Mous
java
编写的
计算器
,能实现加减乘除
java
编写的
计算器
,能实现加减乘除。 //***该梦幻
计算器
与Windows附件自带
计算器
的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import
java
.awt.*; import
java
.lang.*; import
java
x.swing.*; import
java
x.swing.event.*; import
java
.awt.event.*; import
java
.awt.Component.*; import
java
.awt.color.*; import
java
.text.DecimalFormat; //*****************************************************************************// //*****************************************************************************// public class Calculator implements ActionListener //导入动作监听接口 { //******************************// //*****设计
计算器
界面的单位*****// JFrame frame; //定义框架 JTextField textAnswer; //定义输出显示框 JPanel panel, panel1, panel2, panel3;//定义面板作为子容器,从而达到要求的界面效果 JMenuBar mainMenu; JTextField textMemory; JLabel labelMemSpace; //labelMemSpace单纯做摆设,控制面板的形状 JButton buttonBk, buttonCe, buttonC; JButton button[]; JButton buttonMC, buttonMR, buttonMS, buttonMAdd; JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul,buttonDiv, buttonMod; JButton buttonSqrt, buttonDao, buttonEqual; JMenu editMenu, viewMenu, helpMenu; JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal,myCollege; DecimalFormat df; //
设置
数据输出精度 boolean clickable; //控制当前能否按键 double memoryd; //使用内存中存储的数字 int memoryi; double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd) short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算 boolean clear = false; String copy; //做复制用 JTextArea help; //帮助 JScrollPane scrollHelp; static boolean One =true; //******************// //*****构造函数开始*****// public Calculator() { clickable = true; answerd = 0; frame = new JFrame("梦幻
计算器
--SWE08008"); frame.setResizable(false);//不允许改变
计算器
的大小 frame.setLocation(250,150);//
设置
计算器
的起始位置 frame.setBackground(Color.YELLOW); df = new DecimalFormat("0.##############"); //
设置
数据输出精度(对于double型值)
基于
Java
开发(GUI)
简易
计算器
【100013028】
本项目旨在用
Java
语言设计一款
简易
计算器
,支持用户的各类常规计算功能,并支持按键发声,减少用户输入时失误的概率。 ① 单击
计算器
上的数字按钮可以
设置
参与计算的运算数; ② 单击
计算器
上的运算符按钮可以选择运算符号; ③ 单击
计算器
上的函数按钮可以计算出相应的函数值; ④ 单击
计算器
上的等号按钮显示计算结果; ⑤ 在
一个
文本框中显示当前的计算过程,在
一个
文本区中显示以往的计算过程; ⑥ 单击“保存”按钮可以将文本区中显示的全部计算过程保存到文件; ⑦ 单击“复制”按钮可以将文本区中选中的文本复制到剪贴板; ⑧ 单击“清除”按钮可以清除文本区中的全部内容;
Java
计算器
实验报告(1).doc
大连民族大学 计算机科学与工程学院 《
Java
语言》课程实验报告 实验题目:
计算器
的设计与实现 课程名称:
Java
语言 实验类型: 演示性 验证性 操作性 设计性 综合性 专业:网络工程 班级:**** 学生姓名*** 学号:***** 实验日期:2018年 4月23日 地点:计算机学院综合试验中心(I-303) 实验学时:4 实验成绩: 指导教师签字: 2018年 5月21日 1.
问题
需求描述:Problem description 利用
Java
Swing设计
计算器
图形化界面,并实现事件的监听,以及
计算器
基本的加、减、乘、除、 清空、输出运算结果的操作,学习使用各种图形化界面的控件,容器,布局等,学习对 按钮事件的处理等。以及对非法输入的处理。 2. 设计说明:Design notes 本
计算器
,界面方面总体采用BorderLayout布局,显示输入输入的文本框和清除按钮 采用FlowLayout布局,容器放在BorderLayout的North;0- 9和各种运算符号还有小数点采用GridLayout布局,容器放在BorderLayou的Center;事 件监听和处理通过实现addActioListener监视器接口和ItemEvent事件接口,从而对每一 个按钮实现事件的监听和处理;计算方面,调用ScriptEngineManager和ScriptEngine两 个类,直接通过eval函数直接把输入文本当作JS代码执行,输出执行结果,这样报错也 会直接实现,另把文本框
设置
不允许直接从键盘输入以防止出现安全事件。 最后通过转化成JS代码运算得到启发,使用类似方法,我还实现了调用VB代码实现计算 器实时读出键盘输入,发出声音。 3. 系统实现:system implementation 1.程序界面展示 4. 总结体会: summary and experience 实验达到了预期的目标。通过此次的编程,我学会了用
Java
语言编写简单的软件,增强 了我对学习
Java
的兴趣。编程过程中,总体设计主要是窗口与组件的应用,具体执行则 是利用
Java
语言设计算法,而难点也在算法的设计上。虽然程序大体上符合要求,但由 于第一次编写这么复杂的程序,程序仍然存在一- 些漏洞,譬如由于未进行异常处理,当连续输入运算符是程序会出错,还有若一直按小 数点的话会得到一连串的小数点。由于最近忙着考试没有时间修改,考试结束后一定认 真修改这些
问题
。我觉得在编程时应该注意排版对齐,这样不论是自己检查程序还是别 人阅读程序都会更加方便。如果能添加备注的话以后阅读程序会更容易些。在以后的编 程中我会吸取经验,养成认真、严谨的编程习惯。 附:程序清单 1. import
java
x.swing.JFrame; public class Calculator { public static void main(String[] paramArrayOfString) { CalculatorFrame localCalculatorFrame = new CalculatorFrame(); localCalculatorFrame.setSize(800, 800); localCalculatorFrame.setVisible(true); } } 2 import
java
.awt.Container; import
java
.awt.event.WindowAdapter; import
java
.awt.event.WindowEvent; import
java
x.swing.JFrame; class CalculatorFrame extends JFrame { public CalculatorFrame() { setTitle("Calculator"); setSize(200, 200); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent paramAnonymousWindowEvent) { System.exit(0); } }); Container localContainer = getContentPane(); localContainer.add(new CalculatorPanel()); } } 3. import
java
.awt.BorderLayout; import
java
.awt.Color; import
java
.awt.Container; import
java
.awt.Font; import
java
.awt.GridLayout; import
java
.awt.eve
Eclipse
58,454
社区成员
49,450
社区内容
发帖
与我相关
我的任务
Eclipse
Java Eclipse
复制链接
扫一扫
分享
社区描述
Java Eclipse
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章