导航:首页 > 编程语言 > java图形界面计算器

java图形界面计算器

发布时间:2022-09-20 13:54:20

A. java 图形界面设计制作计算器

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

import java.awt.event.*;
import java.text.NumberFormat;

public class JSQ extends JFrame implements ActionListener {
float i = 0;
JPanel jp1 = new JPanel();
JPanel jp2 = new JPanel();
JPanel jp3 = new JPanel();

JButton bt1 = new JButton("+");
JButton bt2 = new JButton("-");
JButton bt3 = new JButton("*");
JButton bt4 = new JButton("/");
JButton bt5 = new JButton("1");
JButton bt6 = new JButton("2");
JButton bt7 = new JButton("3");
JButton bt8 = new JButton("4");
JButton bt9 = new JButton("5");
JButton bt10 = new JButton("6");
JButton bt11 = new JButton("7");
JButton bt12 = new JButton("8");
JButton bt13 = new JButton("9");
JButton bt14 = new JButton("0");
JButton bt15 = new JButton("=");
JButton bt16 = new JButton("C");

JLabel je = new JLabel("0");

public JSQ() {
("计算器");

jp1.setBounds(50, 150, 300, 200);
jp1.setBackground(new Color(100, 100, 150));
this.add(jp1);

jp2.setBounds(50, 40, 300, 30);
jp2.setBackground(new Color(50, 100, 150));
this.add(jp2);
jp2.add(je);

jp3.setBounds(370, 200, 70, 70);
jp3.setBackground(new Color(100, 100, 150));
this.add(jp3);

jp1.add(bt1);
jp1.add(bt2);
jp1.add(bt3);
jp1.add(bt4);
jp1.add(bt5);
jp1.add(bt6);
jp1.add(bt7);
jp1.add(bt8);
jp1.add(bt9);
jp1.add(bt10);
jp1.add(bt11);
jp1.add(bt12);
jp1.add(bt13);
jp1.add(bt14);
jp1.add(bt15);

bt1.addActionListener(this);
bt2.addActionListener(this);
bt3.addActionListener(this);
bt4.addActionListener(this);
bt5.addActionListener(this);
bt6.addActionListener(this);
bt7.addActionListener(this);
bt8.addActionListener(this);
bt9.addActionListener(this);
bt10.addActionListener(this);
bt11.addActionListener(this);
bt12.addActionListener(this);
bt13.addActionListener(this);
bt14.addActionListener(this);
bt15.addActionListener(this);
bt16.addActionListener(this);

this.setLayout(null);
this.setSize(500, 400);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setVisible(true);

}

StringBuffer val = new StringBuffer();
double data = 0;
char op = '\0';
boolean isComp = false;

public void actionPerformed(ActionEvent e) {
JButton b = (JButton) e.getSource();
char c = b.getText().charAt(0);
if (Character.isDigit(c)) {
if (je.getText().equals("0")) {
if (c != '0') {
val.append(c);
setResult(val.toString());
}
} else {
if (isComp) {
val.delete(0, val.length());
val.append(c);
setResult(val.toString());
isComp = false;
} else {
if (!val.toString().equals("0")) {
val.append(c);
setResult(val.toString());
}
}
}
} else if (c == '+' || c == '-' || c == '*' || c == '/') {
if (op != '\0') {
isComp = compute();
op = '\0';
}
op = c;
if (val.length() == 0) {
data = 0;
} else {
data = Double.parseDouble(val.toString());
}
val.delete(0, val.length());
isComp = false;
} else if (c == '=') {
isComp = compute();
op = '\0';
}
}

private boolean compute() {
double data1 = 0;
if (val.length() == 0) {
data1 = 0;
} else {
data1 = Double.parseDouble(val.toString());
}
val.delete(0, val.length());
switch (op) {
case '+' :
val.append(data + data1);
break;
case '-' :
val.append(data - data1);
break;
case '*' :
val.append(data * data1);
break;
case '/' :
if (data1 == 0) {
val.append(0);
} else {
val.append(data / data1);
}
break;
}
setResult(val.toString());
return true;
}

private void setResult(String data) {
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(16);
je.setText(nf.format(Double.parseDouble(data)));
}

}

B. Java程序--编写一个具有图形界面的计算器程序

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class Test implements ActionListener
{
Frame f = new Frame("一步运算计算器");//创建窗架
TextField[] tf = new TextField[3];
Label La1 = new Label("+");
Button btn = new Button("=");
int[] a = new int[3]; //储存数据

public Test()
{
f.setLayout(new FlowLayout());
f.setSize(400,100);

f.addWindowListener
(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
); //窗口关闭事件

btn.addActionListener //输出加法运算结果
(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
tf[2].setText(Integer.toString(a[2]));
}
}
);
for(int i = 0;i<3;i++)
{
tf[i] = new TextField(8);
tf[i].addActionListener(this); //创建文本域,注册事件监听器
}

tf[0].requestFocusInWindow(); //光标定位

f.add(tf[0]);
f.add(La1);
f.add(tf[1]);
f.add(btn);
f.add(tf[2]);
f.show();
}

public void actionPerformed(ActionEvent e)
{
try
{
if(e.getSource()==tf[0])
{
a[0]=Integer.valueOf(tf[0].getText()).intValue();
tf[1].requestFocusInWindow();
}

if(e.getSource()==tf[1])
{
a[1]=Integer.valueOf(tf[1].getText()).intValue();
btn.requestFocusInWindow();
}
a[2] = a[0]+a[1];
}
catch(Exception ex)
{
}
}

public static void main(String[] args) throws Exception
{
Test t = new Test();
}
}
在文本域中输入完后必须按Enter才能完成正确的功能.再按等号按钮输出结果.

C. 用JAVA写一个计算器 要求有图形界面。简单的加减乘除,不要小数点运算。

package com;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener{
private static final long serialVersionUID = 8199443193151152362L;
private JButton bto_s=new JButton("sqrt"),bto_zf=new JButton("+/-"),bto_ce=new JButton("CE"),bto_c=new JButton("C"),bto_7=new JButton("7"),
bto_8=new JButton("8"),bto_9=new JButton("9"),bto_chu=new JButton("/"),bto_4=new JButton("4"),bto_5=new JButton("5"),
bto_6=new JButton("6"),bto_cheng=new JButton("*"),bto_1=new JButton("1"),bto_2=new JButton("2"),bto_3=new JButton("3"),
bto_jian=new JButton("-"),bto_0=new JButton("0"),bto_dian=new JButton("."),bto_deng=new JButton("="),bto_jia=new JButton("+");
JButton button[]={bto_s,bto_zf,bto_ce,bto_c,bto_7,bto_8,bto_9,bto_chu,bto_4,bto_5,bto_6,bto_cheng,bto_1,bto_2,bto_3,bto_jian,
bto_0,bto_dian,bto_deng,bto_jia};
private JTextField text_double;// = new JTextField("0");
private String operator = "="; //当前运算的运算符
private boolean firstDigit = true; // 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字
private double resultNum = 0.0; // 计算的中间结果
private boolean operateValidFlag = true; //判断操作是否合法
private JLabel stuno = new JLabel("计算器"); //学号
private JLabel stuname = new JLabel("计算器"); //姓名
public Calculator()
{
super("Calculator");
this.setBounds(300, 300, 300, 320);
this.setResizable(false);
this.setBackground(Color.orange);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());//设置布局
JPanel topPanel = new JPanel(new BorderLayout());
topPanel.add(stuno,BorderLayout.WEST);
topPanel.add(stuname,BorderLayout.EAST);
text_double=new JTextField("0",20);//设置文本区
text_double.setHorizontalAlignment(JTextField.RIGHT);//设置水平对齐方式未右对齐
topPanel.add(text_double,BorderLayout.SOUTH);
this.getContentPane().add(topPanel,BorderLayout.NORTH);//将文本区添加到Content北部

JPanel panel=new JPanel(new GridLayout(5,4));//在内容窗口添加一个网格布局
this.getContentPane().add(panel);//添加panel面板
for(int i=0;i<button.length;i++)//在面板上添加按钮
panel.add(button[i]);

for(int i=0;i<button.length;i++)
button[i].addActionListener(this);//为按钮注册
text_double.setEditable(false);//文本框不可编辑
text_double.addActionListener(this);//

this.setVisible(true);
}
public void actionPerformed(ActionEvent e)//
{
String c= e.getActionCommand();//返回与此动作相关的命令字符串。
System.out.println("##########command is "+c);
if(c.equals("C")){
handleC(); //用户按了“C”键
}
else if (c.equals("CE")) // 用户按了"CE"键
{
text_double.setText("0");
}
else if ("0123456789.".indexOf(c) >= 0) // 用户按了数字键或者小数点键
{
handleNumber(c); // handlezero(zero);
} else //用户按了运算符键
{
handleOperator(c);
}
}
private void handleC() // 初始化计算器的各种值
{
text_double.setText("0");
firstDigit = true;
operator = "=";
}
private void handleNumber(String button) {
if (firstDigit)//输入的第一个数字
{
text_double.setText(button);
} else if ((button.equals(".")) && (text_double.getText().indexOf(".") < 0))//输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面
//如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1
{
text_double.setText(text_double.getText() + ".");
} else if (!button.equals("."))// 如果输入的不是小数点,则将数字附在结果文本框的后面
{
text_double.setText(text_double.getText() + button);
}
// 以后输入的肯定不是第一个数字了
firstDigit = false;
}
private void handleOperator(String button) {

if (operator.equals("/")) {
// 除法运算
// 如果当前结果文本框中的值等于0
if (getNumberFromText() == 0.0){
// 操作不合法
operateValidFlag = false;
text_double.setText("除数不能为零");
} else {
resultNum /= getNumberFromText();
}
} else if (operator.equals("+")){
// 加法运算
resultNum += getNumberFromText();
} else if (operator.equals("-")){
// 减法运算
resultNum -= getNumberFromText();
} else if (operator.equals("*")){
// 乘法运算
resultNum *= getNumberFromText();
} else if (operator.equals("sqrt")) {
// 平方根运算
if(getNumberFromText()<0){
operateValidFlag = false;
text_double.setText("被开方数不能为负数");}
else
resultNum = Math.sqrt(resultNum);
}
else if (operator.equals("+/-")){
// 正数负数运算
resultNum = resultNum * (-1);
} else if (operator.equals("=")){
// 赋值运算
resultNum = getNumberFromText();
}
if (operateValidFlag) {
// 双精度浮点数的运算
long t1;
double t2;
t1 = (long) resultNum;
t2 = resultNum - t1;
if (t2 == 0) {
text_double.setText(String.valueOf(t1));
} else {
text_double.setText(String.valueOf(resultNum));
}
}
operator = button; //运算符等于用户按的按钮
firstDigit = true;
operateValidFlag = true;
}
private double getNumberFromText() //从结果的文本框获取数字
{
double result = 0;
try {
result = Double.valueOf(text_double.getText()).doubleValue(); // ValueOf()返回表示指定的 double 值的 Double 实例
} catch (NumberFormatException e){
}
return result;
}
public static void main(final String[] args) {
new Calculator();
}
}

D. 用java编写一个简单的计算器(包括加减乘除)图形界面

public class ItemEvent事件

{
public static void main(String args[])
{
WindowOperation win=new WindowOperation();
win.setBounds(100,100,390,360);
win.setTitle("简单计算器");
}
}

import java.awt.event.*;
import javax.swing.*;
public class OperatorListener implements ItemListener
{
JComboBox choice;
ComputerListener workTogether;
public void setJComboBox(JComboBox box)
{
choice=box;
}
public void setWorkTogether(ComputerListener computer)
{
workTogether=computer;
}
public void itemStateChanged(ItemEvent e)
{
String fuhao=choice.getSelectedItem().toString();
workTogether.setFuhao(fuhao);
}
}

E. Java图形界面简单计算器

示例代码如下,请参考:

packagetest.com.test;

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;

publicclassCal{

TextFieldtf=newTextField(40);//显示文本框
StringBuffers1=newStringBuffer();//记录运算数字,以及保留结果
StringBuffers2=newStringBuffer();//记录运算数字,保留上一个输入的数字或运算结果
staticStringflag=newString();//标记运算符号:+,-,*,/
booleanstart=true;//标记运算开始或结束,保证一次运算之后,第二次进行运算时能同时清空显示界面,即s1为空

publicvoidinit(){
//主界面
JFramef=newJFrame("计算器");
JPanelp1=newJPanel();
p1.add(tf);
f.add(p1,BorderLayout.NORTH);
JPanelp2=newJPanel();
p2.setLayout(newGridLayout(1,3));
//动作监听器
ActionListenerlisten=newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

//输入数字0~9
if(arg0.getActionCommand()=="0"){

if(!s1.toString().equals(newString())){
if(!start){
//s1清零,保证可以重新输入数字
s1.delete(0,s1.length());
}
start=true;
tf.setText(s1.append("0").toString());
}
}
if(arg0.getActionCommand()=="1"){
if(!start){
s1.delete(0,s1.length());
}
start=true;
tf.setText(s1.append("1").toString());
}
if(arg0.getActionCommand()=="2"){
if(!start){
s1.delete(0,s1.length());
}
start=true;
tf.setText(s1.append("2").toString());
}
if(arg0.getActionCommand()=="3"){
if(!start){
s1.delete(0,s1.length());
}
start=true;
tf.setText(s1.append("3").toString());
}
if(arg0.getActionCommand()=="4"){
if(!start){
s1.delete(0,s1.length());
}
start=true;
tf.setText(s1.append("4").toString());
}
if(arg0.getActionCommand()=="5"){
if(!start){
s1.delete(0,s1.length());
}
start=true;
tf.setText(s1.append("5").toString());
}
if(arg0.getActionCommand()=="6"){
if(!start){
s1.delete(0,s1.length());
}
start=true;
tf.setText(s1.append("6").toString());
}
if(arg0.getActionCommand()=="7"){
if(!start){
s1.delete(0,s1.length());
}
start=true;
tf.setText(s1.append("7").toString());
}
if(arg0.getActionCommand()=="8"){
if(!start){
s1.delete(0,s1.length());
}
start=true;
tf.setText(s1.append("8").toString());
}
if(arg0.getActionCommand()=="9"){
if(!start){
s1.delete(0,s1.length());
}
start=true;
tf.setText(s1.append("9").toString());
}
//输入小数点
if(arg0.getActionCommand()=="."){
if(!start){
s1.delete(0,s1.length());
}
start=true;
if(s1.toString().equals(newString()))
tf.setText(s1.append("0.").toString());
elseif(s1.length()==1&&s1.charAt(0)=='-')
tf.setText(s1.append("0.").toString());
else
tf.setText(s1.append(".").toString());
}
//输入负号
if(arg0.getActionCommand()=="+/-"){
if(!start){
s1.delete(0,s1.length());
}
start=true;
if(s1.toString().equals(newString()))
tf.setText(s1.append('-').toString());
}
//退格Backspace
if(arg0.getActionCommand()=="Backspace"){
start=true;
if(s1.length()!=0){
//删除最后输入的一位
s1.deleteCharAt(s1.length()-1);
tf.setText(s1.toString());
}
}
//归零CE
if(arg0.getActionCommand()=="CE"){
//清空所有,start标记设为true
start=true;
s1.delete(0,s1.length());
s2.delete(0,s2.length());
tf.setText(s1.toString());
}
//清除C
if(arg0.getActionCommand()=="C"){
//清空当前输入,即s1清零
start=true;
s1.delete(0,s1.length());
tf.setText(s1.toString());
}
//加号
if(arg0.getActionCommand()=="+"){
start=true;
flag="+";
//s2接收s1的值
s2.append(String.valueOf(s1.toString()));
//s1清零,重新接收下一个数据
s1.delete(0,s1.length());
tf.setText(s1.toString());
}
//减号
if(arg0.getActionCommand()=="-"){
start=true;
flag="-";
s2.append(String.valueOf(s1.toString()));
s1.delete(0,s1.length());
tf.setText(s1.toString());
}
//乘号
if(arg0.getActionCommand()=="*"){
start=true;
flag="*";
s2.append(String.valueOf(s1.toString()));
s1.delete(0,s1.length());
tf.setText(s1.toString());
}
//除号
if(arg0.getActionCommand()=="/"){
start=true;
flag="/";
s2.append(String.valueOf(s1.toString()));
s1.delete(0,s1.length());
tf.setText(s1.toString());
}
//开根号
if(arg0.getActionCommand()=="sqrt"){
start=false;
doubles=Double.parseDouble(s1.toString());
s1.delete(0,s1.length());
tf.setText(s1.append(String.valueOf(Math.sqrt(s))).toString());
}
//求%
if(arg0.getActionCommand()=="%"){
start=false;
doubles=Double.parseDouble(s1.toString());
s1.delete(0,s1.length());
tf.setText(s1.append(String.valueOf(s/100)).toString());
}
//求1/x
if(arg0.getActionCommand()=="1/x"&&!s1.toString().equals(newString())&&Double.parseDouble(s1.toString())!=0){
start=false;
doubles=Double.parseDouble(s1.toString());
s1.delete(0,s1.length());
tf.setText(s1.append(String.valueOf(1/s)).toString());
}
//求结果
if(arg0.getActionCommand()=="="&&s1.length()!=0&&s2.length()!=0){
//start标记为false
start=false;
//分别获取s1和s2的值
doubles4=Double.parseDouble(s1.toString());
doubles3=Double.parseDouble(s2.toString());
//清空s1和s2,便于开始下一次运算
s1.delete(0,s1.length());
s2.delete(0,s2.length());
//四则运算
if(flag=="+"){
tf.setText(s1.append(String.valueOf(s3+s4)).toString());
}
if(flag=="-"){
tf.setText(s1.append(String.valueOf(s3-s4)).toString());
}
if(flag=="*"){
tf.setText(s1.append(String.valueOf(s3*s4)).toString());
}
if(flag=="/"){
tf.setText(s1.append(String.valueOf(s3/s4)).toString());
}
}

}
};
//添加按钮以及监听器
JButtonbks=newJButton("Backspace");
bks.addActionListener(listen);
JButtonce=newJButton("CE");
ce.addActionListener(listen);
JButtonc=newJButton("C");
c.addActionListener(listen);
p2.add(bks);
p2.add(ce);
p2.add(c);
f.add(p2);
JPanelp3=newJPanel();
p3.setLayout(newGridLayout(4,5));
JButtonb1=newJButton("7");
p3.add(b1);
b1.addActionListener(listen);
JButtonb2=newJButton("8");
p3.add(b2);
b2.addActionListener(listen);
JButtonb3=newJButton("9");
p3.add(b3);
b3.addActionListener(listen);
JButtonb4=newJButton("/");
p3.add(b4);
b4.addActionListener(listen);
JButtonb5=newJButton("sqrt");
p3.add(b5);
b5.addActionListener(listen);
JButtonb6=newJButton("4");
p3.add(b6);
b6.addActionListener(listen);
JButtonb7=newJButton("5");
p3.add(b7);
b7.addActionListener(listen);
JButtonb8=newJButton("6");
p3.add(b8);
b8.addActionListener(listen);
JButtonb9=newJButton("*");
p3.add(b9);
b9.addActionListener(listen);
JButtonb10=newJButton("%");
p3.add(b10);
b10.addActionListener(listen);
JButtonb11=newJButton("1");
p3.add(b11);
b11.addActionListener(listen);
JButtonb12=newJButton("2");
p3.add(b12);
b12.addActionListener(listen);
JButtonb13=newJButton("3");
p3.add(b13);
b13.addActionListener(listen);
JButtonb14=newJButton("-");
p3.add(b14);
b14.addActionListener(listen);
JButtonb15=newJButton("1/x");
p3.add(b15);
b15.addActionListener(listen);
JButtonb16=newJButton("0");
p3.add(b16);
b16.addActionListener(listen);
JButtonb17=newJButton("+/-");
p3.add(b17);
b17.addActionListener(listen);
JButtonb18=newJButton(".");
p3.add(b18);
b18.addActionListener(listen);
JButtonb19=newJButton("+");
p3.add(b19);
b19.addActionListener(listen);
JButtonb20=newJButton("=");
p3.add(b20);
b20.addActionListener(listen);
f.add(p3,BorderLayout.SOUTH);
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.pack();
f.setVisible(true);
}

publicstaticvoidmain(Stringargs[]){
//调用方法,实现计算器
newCal().init();
}

}

F. java怎么做图形界面计算器

给每一个按钮添加监听器,界面上应该会有一个Textfield的位置,你点击了什么按钮,就在对应的按钮上添加相应的运算,总之简单的计算在java中调用math.里面的函数就够了,其实你只要明白,你点击按钮是外部,其实内部需要你在监听器里面进行操作,把你点击的意思最终反应在界面上面的Textfield上

G. java图形用户界面设计计算器

这是我以前写的计算器。。。你自己运行看看

package com.jisuanqi.demo;

import java.awt.*;
import java.awt.event.*;

public class Calculator extends WindowAdapter implements ActionListener {
private double result = 0, data1 = 0, radixPointDepth = 1;
private boolean radixPointIndicate = false, resultIndicate = false;
private char prec = '+';
private Frame f;
private TextField tf;
private Button b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14,
b15, b16, b17;
private Panel p;

public static void main(String args[]) {
Calculator de = new Calculator();
// de.go();
}

public Calculator() {
f = new Frame("计算器");
p = new Panel();
p.setLayout(new GridLayout(4, 4));
tf = new TextField(30);
b1 = new Button("7");
b2 = new Button("8");
b3 = new Button("9");
b4 = new Button("+");
b5 = new Button("4");
b6 = new Button("5");
b7 = new Button("6");
b8 = new Button("-");
b9 = new Button("1");
b10 = new Button("2");
b11 = new Button("3");
b12 = new Button("*");
b13 = new Button("0");
b14 = new Button(".");
b15 = new Button("=");
b16 = new Button("/");
b17 = new Button("清零");
f.add(tf, "North");
f.add(p, "Center");
f.add(b17, "South");
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(b5);
p.add(b6);
p.add(b7);
p.add(b8);
p.add(b9);
p.add(b10);
p.add(b11);
p.add(b12);
p.add(b13);
p.add(b14);
p.add(b15);
p.add(b16);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b10.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
b13.addActionListener(this);
b14.addActionListener(this);
b15.addActionListener(this);
b16.addActionListener(this);
b17.addActionListener(this);
f.addWindowListener(this);
f.setBounds(500,200,250, 190);
f.setVisible(true);
}

public void actionPerformed(ActionEvent e) {
String s;
s = e.getActionCommand();
switch (s.charAt(0)) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
if (resultIndicate) {
result = 0;
data1 = 0;
prec = '+';
}
Integer Int1 = new Integer(s);
if (radixPointIndicate) {
radixPointDepth = radixPointDepth / 10;
data1 = data1 + (Int1.intValue()) * radixPointDepth;
} else {
data1 = data1 * 10 + (Int1.intValue());
}
Double displayNumber = new Double(data1);
tf.setText(displayNumber.toString());
resultIndicate = false;
break;
case '+':
case '-':
case '*':
case '/':
case '=':
if (s.charAt(0) != '=' && resultIndicate) {
prec = s.charAt(0);
resultIndicate = false;
} else {
switch (prec) {
case '+':
result = result + data1;
break;
case '-':
result = result - data1;
break;
case '*':
result = result * data1;
break;
case '/':
result = result / data1;
break;
}
}
radixPointIndicate = false;
radixPointDepth = 1;
displayNumber = new Double(result);
tf.setText(displayNumber.toString());
if (s.charAt(0) != '=') {
data1 = 0;
prec = s.charAt(0);
} else {
resultIndicate = true;
}
break;
case '.':
radixPointIndicate = true;
break;
}
if (s.equals("清零")) {
result = 0;
data1 = 0;
radixPointDepth = 1;
tf.setText("0.0");
}
}

public void windowClosing(WindowEvent e) {
System.exit(0);
}
}

H. 用Java设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算

下午发
五分钟搞定,先给你发个简单的,照例子自己去做你想要的计算器
package aaa;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class YunSuan implements ActionListener,ItemListener
{
public static JFrame jf;
public static Container c;
public static JTextField jtf1,jtf2,jtf3;
public static JButton jb1;
public static Choice c2;

public static String fuhao="";

public YunSuan()
{
jf=new JFrame("加减乘除运算");
c=jf.getContentPane();
c.setLayout(new FlowLayout());
jtf1=new JTextField(10);
jtf2=new JTextField(10);
jtf3=new JTextField(10);
c2=new Choice();
jb1=new JButton("=");

}

public void Jiemian()
{

c.add(jtf1);
c2.addItemListener(this);
c2.add("");
c2.add("+");
c2.add("-");
c2.add("*");
c2.add("/");
c.add(c2);
c.add(jtf2);
jb1.addActionListener(this);
c.add(jb1);
c.add(jtf3);

jf.setLocation(200,100);
jf.setVisible(true);
jf.pack();
}
public static void main(String args[])
{
YunSuan ys=new YunSuan();
ys.Jiemian();
}

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
double s1=Integer.parseInt(jtf1.getText());
double s2=Integer.parseInt(jtf2.getText());
double result=0;
if(fuhao.equals("+"))
{
result=s1+s2;
String result2=String.valueOf(result);
jtf3.setText(result2);
}
if(fuhao.equals("-"))
{
result=s1-s2;
String result2=String.valueOf(result);
jtf3.setText(result2);
}
if(fuhao.equals("*"))
{
result=s1*s2;
String result2=String.valueOf(result);
jtf3.setText(result2);
}
if(fuhao.equals("/"))
{
result=s1/s2;
String result2=String.valueOf(result);
jtf3.setText(result2);
}
}

public void itemStateChanged(ItemEvent ie)
{
if(ie.getSource()==c2)
{
String str1=c2.getSelectedItem();
fanhui(str1);
}
}
public String fanhui(String str2)
{
return fuhao=str2;
}
}

I. java图形化界面编计算器问题

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.setSize(200,200);
frame.setVisible(true);
}
}
class CalculatorFrame extends JFrame
{
public CalculatorFrame()
{
setTitle("Calculator");
CalculatorPanel panel = new CalculatorPanel();
add(panel);
pack();
}
}
class CalculatorPanel extends JPanel
{
private JLabel display;
private JPanel panel;
private double result;
private String lastCommand;
private boolean start;
public CalculatorPanel()
{
setLayout(new BorderLayout());

result = 0;
lastCommand = "=";
start = true;
display = new JLabel("0",JLabel.RIGHT);
display.setEnabled(false);
add(display, BorderLayout.NORTH);

ActionListener insert = new InsertAction();
ActionListener command = new CommandAction();
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);
}
private void addButton(String label, ActionListener listener)
{
JButton button = new JButton(label);
button.addActionListener(listener);
panel.add(button);
}
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);
}
}
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;
}
}
}
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);
}
}

给你参考下 ,我最近写的

J. JAVA图形用户界面设计一个简易计算器

下午发
五分钟搞定,先给你发个简单的,照例子自己去做你想要的计算器
package aaa;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class YunSuan implements ActionListener,ItemListener
{
public static JFrame jf;
public static Container c;
public static JTextField jtf1,jtf2,jtf3;
public static JButton jb1;
public static Choice c2;

public static String fuhao="";

public YunSuan()
{
jf=new JFrame("加减乘除运算");
c=jf.getContentPane();
c.setLayout(new FlowLayout());
jtf1=new JTextField(10);
jtf2=new JTextField(10);
jtf3=new JTextField(10);
c2=new Choice();
jb1=new JButton("=");

}

public void Jiemian()
{

c.add(jtf1);
c2.addItemListener(this);
c2.add("");
c2.add("+");
c2.add("-");
c2.add("*");
c2.add("/");
c.add(c2);
c.add(jtf2);
jb1.addActionListener(this);
c.add(jb1);
c.add(jtf3);

jf.setLocation(200,100);
jf.setVisible(true);
jf.pack();
}
public static void main(String args[])
{
YunSuan ys=new YunSuan();
ys.Jiemian();
}

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
double s1=Integer.parseInt(jtf1.getText());
double s2=Integer.parseInt(jtf2.getText());
double result=0;
if(fuhao.equals("+"))
{
result=s1+s2;
String result2=String.valueOf(result);
jtf3.setText(result2);
}
if(fuhao.equals("-"))
{
result=s1-s2;
String result2=String.valueOf(result);
jtf3.setText(result2);
}
if(fuhao.equals("*"))
{
result=s1*s2;
String result2=String.valueOf(result);
jtf3.setText(result2);
}
if(fuhao.equals("/"))
{
result=s1/s2;
String result2=String.valueOf(result);
jtf3.setText(result2);
}
}

public void itemStateChanged(ItemEvent ie)
{
if(ie.getSource()==c2)
{
String str1=c2.getSelectedItem();
fanhui(str1);
}
}
public String fanhui(String str2)
{
return fuhao=str2;
}
}

阅读全文

与java图形界面计算器相关的资料

热点内容
苹果数据线头歪了 浏览:135
ghostwin764位系统镜像文件 浏览:443
传感器视频教程下载 浏览:95
flash源文件贺卡下载 浏览:434
如何提高网络扶贫的效果 浏览:654
飞车软件文件夹叫什么 浏览:242
刷ec用什么编程器 浏览:765
方菱数控u盘文件格式 浏览:260
编程为什么输出两个变量 浏览:490
卫星大锅2017用升级吗 浏览:113
玉米win10系统下载 浏览:134
fgo技能升级减cd吗 浏览:129
什么记账app免费好用 浏览:441
网络检测可以检测到什么 浏览:504
sip协议教程 浏览:832
编程哪里可以接项目 浏览:119
孤岛惊魂win10 浏览:246
网络HRV是什么意思 浏览:918
word框中打勾 浏览:577
tcl笔试题java 浏览:467

友情链接