当前位置:编程学习 > JAVA >>

JAVA 加法 求教

小弟初学 有几多不明之处 求解:此程序运行完之后应是带“框”的 为何此程序没“框” 另 如何把此程序改成 乘、除、减 和小数运算 在此多谢各位前辈学长
import java.applet.Applet;
import java.awt.Button;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class miao1 extends Applet implements ActionListener {   
  private static final long serialVersionUID = 1L;
  Label label1 = new Label("+");
  Label label2 = new Label("=");
  TextField field1 = new TextField(6);
  TextField field2 = new TextField(6);
  TextField field3 = new TextField(6);
  Button button1 = new Button("相加");

  public void init() {
  add(field1);
  add(label1);
  add(field2);
  add(label2);
  add(field3);
  add(button1);
  button1.addActionListener(this);
  }

  private void add(TextField field12) {

  }

  public void actionPerformed(ActionEvent e) {
  int x = Integer.parseInt(field1.getText())
  + Integer.parseInt(field2.getText());
  field3.setText(Integer.toString(x));
  }
} --------------------编程问答-------------------- 父类的原因,所以没有带框。。。
你可以用工厂模式来实现混合运算,这样比较好维护。。。也可以用最简单的button的时间来计算。。。很多方法的。 --------------------编程问答--------------------

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.*;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;

public class Calc extends JFrame implements ActionListener {
    private JPanel contentPane;

    private JButton JBone = new JButton("1");
    private JButton JBtwo = new JButton("2");
    private JButton JBthree = new JButton("3");
    private JButton JBfour = new JButton("4");
    private JButton JBfive = new JButton("5");
    private JButton JBsix = new JButton("6");
    private JButton JBseven = new JButton("7");
    private JButton JBeight = new JButton("8");
    private JButton JBnight = new JButton("9");
    private JButton JBzero = new JButton("0");

    private JButton JBpoint = new JButton(".");

    private JButton JBadd = new JButton("+");
    private JButton JBmultiply = new JButton("*");
    private JButton JBdivide = new JButton("/");
    private JButton JBsubtract = new JButton("-");
    private JButton JBequals = new JButton("=");

    private JButton JBdbzero = new JButton("00");

    private String tempOperand1 = null; //增加全局变量增加全局变量增加全局变量增加全局变量
    private String tempOperand2 = null;

    private JTextField tf = new JTextField();// 显示框

    private JButton JBclear = new JButton("清零");

    boolean add = false, substract = false, multiply = false, divide = false;

    public Calc() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 369, 448);
setTitle("JAVA版计算器");
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);

tf.setBounds(10, 10, 333, 34);
contentPane.add(tf);
tf.setColumns(10);
tf.setEditable(false);

JBone.setBounds(30, 283, 52, 42);// 数字1
contentPane.add(JBone);
JBone.addActionListener(this);

JBtwo.setBounds(92, 283, 52, 42);// 数字2
contentPane.add(JBtwo);
JBtwo.addActionListener(this);

JBthree.setBounds(154, 283, 52, 42);// 数字3
contentPane.add(JBthree);
JBthree.addActionListener(this);

JBfour.setBounds(30, 231, 52, 42);// 数字4
contentPane.add(JBfour);
JBfour.addActionListener(this);

JBfive.setBounds(92, 231, 52, 42);// 数字5
contentPane.add(JBfive);
JBfive.addActionListener(this);

JBsix.setBounds(154, 231, 52, 42);// 数字6
contentPane.add(JBsix);
JBsix.addActionListener(this);

JBseven.setBounds(30, 179, 52, 42);// 数字7
contentPane.add(JBseven);
JBseven.addActionListener(this);

JBeight.setBounds(92, 179, 52, 42);// 数字8
contentPane.add(JBeight);
JBeight.addActionListener(this);

JBnight.setBounds(154, 179, 52, 42);// 数字9
contentPane.add(JBnight);
JBnight.addActionListener(this);

JBzero.setBounds(30, 343, 52, 42);// 数字0
contentPane.add(JBzero);
JBzero.addActionListener(this);

JBpoint.setBounds(92, 343, 52, 42);// 按钮.
contentPane.add(JBpoint);
JBpoint.addActionListener(this);

JBadd.setBounds(221, 283, 52, 102);// 按钮+
contentPane.add(JBadd);
JBadd.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
add = true;
tempOperand1 = tf.getText().trim();
tf.setText("");
    }
});
JBmultiply.setBounds(221, 231, 52, 42);// 按钮*
contentPane.add(JBmultiply);
JBmultiply.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
multiply = true;
tempOperand1 = tf.getText().trim();
tf.setText("");
    }
});

JBdivide.setBounds(283, 231, 52, 42);// 按钮/
contentPane.add(JBdivide);
JBdivide.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
divide = true;
tempOperand1 = tf.getText().trim();
tf.setText("");
    }
});

JBsubtract.setBounds(283, 283, 52, 42);// 按钮-
contentPane.add(JBsubtract);
JBsubtract.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
substract = true;
tempOperand1 = tf.getText().trim();
tf.setText("");
    }
});

JBequals.setBounds(283, 343, 52, 42);// 按钮=
contentPane.add(JBequals);
JBequals.addActionListener(new ActionListener() {

    public void actionPerformed(ActionEvent e) {

tempOperand2 = tf.getText().trim();
;
double operand1 = Double.parseDouble(tempOperand1);// 既然都有小数点了,就干脆用Double型把
double operand2 = Double.parseDouble(tempOperand2);
double result = 0;
if (add) {
    result = operand1 + operand2;
    add = false;
}
if (substract) {
    result = operand1 - operand2;
    substract = false;
}
if (multiply) {
    result = operand1 * operand2;
    multiply = false;
}
if (divide) {
    result = operand1 / operand2;
    divide = false;
}
tf.setText(result + "");
tempOperand1 = null;
tempOperand2 = null;
    }

});

JBdbzero.setBounds(154, 343, 52, 42);// 按钮00 ////干嘛用的???????????????
contentPane.add(JBdbzero);
JBdbzero.addActionListener(this);//是不是想添加正负号??????

JBclear.setBounds(270, 179, 65, 42);
contentPane.add(JBclear);
JBclear.addActionListener(this);

    }

    public void actionPerformed(ActionEvent e) {
String m = null;
m = tf.getText().toString();
if (e.getSource() == JBone) {
    
m += "1";
tf.setText(m);
  
} else if (e.getSource() == JBtwo) {
   
m += "2";
tf.setText(m);
   
} else if (e.getSource() == JBthree) {
   
m += "3";
tf.setText(m);
  
} else if (e.getSource() == JBfour) {
   
m += "4";
tf.setText(m);
   
} else if (e.getSource() == JBfive) {
    
m += "5";
tf.setText(m);
    
} else if (e.getSource() == JBsix) {
   
m += "6";
tf.setText(m);
   
} else if (e.getSource() == JBseven) {
   
m += "7";
tf.setText(m);
    
} else if (e.getSource() == JBeight) {
    
m += "8";
tf.setText(m);
   
} else if (e.getSource() == JBnight) {
    
m += "9";
tf.setText(m);
   

} else if (e.getSource() == JBdbzero) {
   
m += "00";
tf.setText(m);
  

} else if (e.getSource() == JBpoint) {
    
m += ".";
tf.setText(m);
   

} else if (e.getSource() == JBclear) {

    tf.setText("");

    }

    public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
    public void run() {
try {
    Calc frame = new Calc();
    frame.setVisible(true);
} catch (Exception e) {
    e.printStackTrace();
}
    }
});
    }

}


--------------------编程问答--------------------
补充:Java ,  Eclipse
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,