问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用GUI设计这样一个计算器,对应按钮的代码如何写?

发布网友 发布时间:2022-05-29 19:22

我来回答

3个回答

热心网友 时间:2023-11-10 11:41

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

//暂时不用考虑连加问题
//点第一个运算符 点运算符 点第二个运算符 点=出结果
public class 计算器 implements ActionListener {
JTextField jtf = new JTextField(10);
private boolean append = false;
private String op1 = "0";
private String operator = "+";

@Override
public void actionPerformed(ActionEvent e) {
String comn = e.getActionCommand();
//处理数字
if ("0123456789".indexOf(comn) != -1) {
if (append) {// 追加
String temp = jtf.getText();
jtf.setText(temp + comn);
} else {// 替换
jtf.setText(comn);
append = true;
}
}
//处理运算符
else if ("+-*/".indexOf(comn) != -1) {
op1 = jtf.getText();
operator = comn;
append = false;
} else if ("=".indexOf(comn) != -1) {
String op2 = jtf.getText();
double d1 = Double.parseDouble(op1);
double d2 = Double.parseDouble(op2);
if ("+".equals(operator)) {
d1 = d1 + d2;
} else if ("-".equals(operator)) {
d1 = d1 - d2;
} else if ("*".equals(operator)) {
d1 = d1 * d2;
} else if ("/".equals(operator)) {
d1 = d1 / d2;
}
jtf.setText(d1 + "");
append = false;
} else if (".".equals(comn)) {
String temp = jtf.getText();
if (temp.indexOf(".") == -1) {
jtf.setText(temp + ".");
append = true;
}
} else if ("+/-".equals(comn)) {
String temp = jtf.getText();
if (temp.startsWith("-1")) {
jtf.setText(temp.substring(1));
} else {
jtf.setText("-" + temp);
}
} else if ("Backspace".equals(comn)) {
String temp = jtf.getText();
if (temp.length() > 0) {
jtf.setText(temp.substring(0, temp.length() - 1));
}
} else if ("CE".equals(comn) || "C".equals(comn)) {
jtf.setText("0");
append = false;

}

}

热心网友 时间:2023-11-10 11:42

写按钮的ActionListener的事件,并写相应的逻辑追问我想知道相应的如何写代码?

热心网友 时间:2023-11-10 11:42

可以送给你一些资料
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
正确的调搓丝板方法 正确的调搓丝板方法介绍 搓丝板失效的多种原因及如何预防? 副职领导签批公文技巧 上级审批意见怎么写 怎么卸摘网吧电脑上的“世界之窗”浏览器 怎么才能卸载世界之窗浏览器? 麻烦帮我翻译两个句子,谢谢,谢谢。 ...结构层次和结构关系 原理讲下 谢谢谢谢 老师讲过了我么听懂啊_百度... 这两个句子的主干是什么,谢谢谢谢 为什么会有人选择一辈子不结婚呢? 谁有暗黑2 1.13的中文输入补丁 篮球规则,什麽是压跳 有哪些有关边塞的古诗 c语言GUI设计 那篮球中有压跳吗? GUI界面设计时,如何将MATLAB中的m文件导入到gui中 关于边境诗 JAVA GUI设计 2012年6月河南二级建造师考试时间是不是与6级考试时间冲突啊? 九阴真经玉髓怎么得 河南二级建造师会不会取消 飞升中玉髓怎么获得 谁知道古剑奇谭三的辉银矿、血玉髓、羊脂白玉这几样东西怎么获得? wow玉髓石怎么获得 玉髓石怎么获得 分解源质矿和黑曜石得到红玉髓的几率分别是多少 DNF满级怎么得红玉髓 汉字与文化课程讲什么内容? 有没有人知道大众汽车的股票代码是多少?听说大众汽车股票暴跌? 大众前董事长去世,对大众的股价会不会有影响? 带有边塞特有风光的诗句两句 篮球规则压跳 卡康尼节油器有用吗 NBA压跳是怎么判的 暗黑血统2汉化补丁哪位朋友可以分享一个,要正版的也可以汉化的 梅毒tppa可以转阴吗 篮球压跳问题 篮球里怎么算拉人,怎么算压跳? 梅毒tppa怎么能转阴,怎么办 tppa阳性 trust阴性是否会随时复发 篮球规则里面有没有“压跳”这说法? 暗黑破坏神2:毁灭之王中文输入法补丁 TPPA阳性TRUST阴性查两次都一样 卡康尼变频节油器 求暗黑2中文聊天补丁,我是1.13版的,上战网聊天用 梅淋舒转阴官方 网站 梅毒血清滴度TRUST1:1阳性,梅毒确证试验TPPA阳性( 暗黑破坏神2:毁灭之王1.12中文补丁在那下? CARCONY(卡康尼)汽车变频节油器真的节油吗? 卡康尼稳压节油器,说是插在点烟器上节油,增加发动机动力,是真的么?管用么?谁知道,说说?谢谢。 海洋馆里有13条黄金鱼,花面鱼神仙鱼比黄金鱼神仙鱼多九条,透红小丑鱼比黄金神仙鱼少8条。花面神仙鱼