java高手帮忙加个东西

kjfeojefoaa kjfeojefoaa 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
/**
@Java calculator, with grid layout
@date created 06/26/2007
*/

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Calculator
{
public static void main(String[] args)
{
CalculatorFrame frame = new CalculatorFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

/**
A frame with a calculator panel.
*/
class CalculatorFrame extends JFrame
{
public CalculatorFrame()
{
setTitle("Calculator");
CalculatorPanel panel = new CalculatorPanel();
getContentPane().add(panel);
pack();
}
}

/**
A panel with calculator buttons and a result display.
*/
class CalculatorPanel extends JPanel
{
public CalculatorPanel()
{
setLayout(new BorderLayout());

result = 0;
lastCommand = "=";
start = true;

// add the display

display = new JButton("0");
display.setEnabled(false);
add(display, BorderLayout.NORTH);

ActionListener insert = new InsertAction();
ActionListener command = new CommandAction();

// add the buttons in a 4 x 4 grid

panel = new JPanel();
panel.setLayout(new GridLayout(4, 4));

addButton("7", insert);
addButton("8", insert);
addButton("9", insert);
addButton("/", command);

addButton("4", insert);
addButton("5", insert);
addButton("6", insert);
addButton("*", command);

addButton("1", insert);
addButton("2", insert);
addButton("3", insert);
addButton("-", command);

addButton("0", insert);
addButton(".", insert);
addButton("=", command);
addButton("+", command);

add(panel, BorderLayout.CENTER);
}

/**
Adds a button to the center panel.
@param label the button label
@param listener the button listener
*/
private void addButton(String label, ActionListener listener)
{
JButton button = new JButton(label);
button.addActionListener(listener);
panel.add(button);
}

/**
This action inserts the button action string to the
end of the display text.
*/
private class InsertAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String input = event.getActionCommand();
if (start)
{
display.setText("");
start = false;
}
display.setText(display.getText() + input);
}
}

/**
This action executes the command that the button
action string denotes.
*/
private class CommandAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String command = event.getActionCommand();

if (start)
{
if (command.equals("-"))
{
display.setText(command);
start = false;
}
else
lastCommand = command;
}
else
{
calculate(Double.parseDouble(display.getText()));
lastCommand = command;
start = true;
}
}
}

/**
Carries out the pending calculation.
@param x the value to be accumulated with the prior result.
*/
public void calculate(double x)
{
if (lastCommand.equals("+")) result += x;
else if (lastCommand.equals("-")) result -= x;
else if (lastCommand.equals("*")) result *= x;
else if (lastCommand.equals("/")) result /= x;
else if (lastCommand.equals("=")) result = x;
display.setText("" + result);
}

private JButton display;
private JPanel panel;
private double result;
private String lastCommand;
private boolean start;
}

上面是一个小的计算器.帮忙加一个按钮,能让计算时分整数显示或带小数点显示2种模式,上面显示是带全带小数点的.分2个按钮实现也行.java考试的作业呀.帮忙改一下.谢谢.!
...全文

相关推荐

JAVA加个类 小程序

课余时间写的一个小JAVA程序,可以帮你的程序加一个类。 原理是加上一个新的类调用原来程序中的主方法。 因为我们的JAVA老师布置的作业总是规定多少行,多少个类,所以才写了这个小东西来帮帮刚学JAVA的小同学们~~ 必须有JAVA环境才能运行

qq1003779746

Python程序设计 第7章:Python面向对象编程

Python程序设计 第7章:Python面向对象编程7.1 面向对象编程概述7.1.1 OOP的产生7.1.2 OOP核心思想7.1.3 OOP特征7.2 类和对象7.2.1 类的创建7.2.2 对象的创建7.2.3 类的属性7.2.4 类的方法7.2.5 内部类7.2.6 魔术方法7.3 类间关系7.3.1 依赖关系7.3.2 关联关系7.3.3 继承关系7.4 总结 7.1 面向对象编程概述 7.1.1 OOP的产生 7.1.2 OOP核心思想 7.1.3 OOP特征 7.2 类和对象 7.2.1 类

若北辰

java DHT爬虫 重构并加了注释, 修复了一些bug

java DHT爬虫 重构并加了注释, 修复了一些bug。 最近有几个朋友来问我之前写的DHT爬虫相关的东西, 之前的代码写的很乱而且没有注释, 因此重构了一版并补齐了注释, 希望能方便有兴趣的朋友阅读, 直接运行Main.java不需要其他额外工作, 代码文件编码是UTF8 java DHT爬虫 磁力链接 infoHash p2p种子爬虫

业余草

java版ss源码-Cloud-Radar-Plus:2018,06目前已弃坑,好久没碰过这个东西了.专心享受人生.为了一个游戏搞这个没必要[

java版ss源码 2018,06 目前已弃坑,好久没碰过这个东西了.专心享受人生.为了一个游戏搞这个没必要的呢~ [不要在申请加我好友了] 弃坑照~~~ 弃坑 就算你搭建成功也没效果的![不要在申请加我好友了] 弃坑 就算你搭建成功也没效果的![不要在申请加我好友了] 弃坑 就算你搭建成功也没效果的![不要在申请加我好友了] 弃坑 就算你搭建成功也没效果的![不要在申请加我好友了] 目前发现大批人群复制我的代码库.复制时没把.说明.教程.更新日志.等资讯带上,导致你们无法获得最新消息,或者雷达已经不能用了的消息. 在此我下声一下源地址只有一个也就是 其他均为克隆下载....修改了说明README 或者直接删除了README 说明.教程.更新日志的资讯文件 导致你们明明安装了 然后不能用然后来加我.问我... 当5月3日下午1点21分的时候我就在GH网页就说明了 在更新日志内.你们自己用了别人复制过来的.然后没带上说明和更新日志导致你们.安装了不能用反复来加我问我等问题 这几天太多人加我 问我...萌新还要认真上班班工作呢. 记住GitHub源 只有这一个.其他均为复制克隆上去. ==

weixin_38677505

Java学习中的问题剖析

我自己的东西,拿来与大家分享,欢迎使用者的使用,如有不足之处,请批评指正。我的联系方式:QQ504700869,注意加我时附上:"Java爱好者"字样。

IT_熊
评论 17
收藏 已收藏
分享
返回顶部
kjfeojefoaa
Java SE 62,621 成员 307,251 内容