1.谁会用java做windows 计算器呀 ??教教我
import javax.swing.*;import java.awt.*;import java.awt.event.*; public class Test2 extends JFrame{ public static void main(String args[]){ SwingUtilities.invokeLater(new Runnable(){ public void run() { new Test2(); } }); } JTextField jf=new JTextField(30); boolean b; double result; String oper; double d0,d2; public Test2(){ JPanel jp1=new JPanel(); JPanel jp2=new JPanel(); JPanel jp3=new JPanel(); JPanel jp9=new JPanel(); jp9.setLayout(new BorderLayout()); this.setLayout(new BorderLayout()); jp9.add(jf,BorderLayout.CENTER); JButton jp5=new JButton(" "); JButton jp6=new JButton(" Backspace "); JButton jp7=new JButton(" CE "); JButton jp8=new JButton(" C "); jp1.add(jp5); jp1.add(jp6); jp1.add(jp7); jp1.add(jp8); jp9.add(jp1,BorderLayout.SOUTH); add(jp2,BorderLayout.CENTER); add(jp3,BorderLayout.WEST); JMenuBar jmenubar=new JMenuBar(); this.setJMenuBar(jmenubar); JMenu jmneu1=new JMenu("编辑(E)"); JMenu jmneu2=new JMenu("查看(V)"); JMenu jmneu3=new JMenu("帮助(H)"); jmenubar.add(jmneu1); jmenubar.add(jmneu2); jmenubar.add(jmneu3); JMenuItem jmenuitem1=new JMenuItem("复制"); JMenuItem jmenuitem2=new JMenuItem("粘贴"); jmneu1.add(jmenuitem1); jmneu1.add(jmenuitem2); jp3.setLayout(new GridLayout(4,1,20,10)); String[] str1={"NC","MS","MR","M+"}; JButton[] jp=new JButton[str1.length]; for(int a=0;a import java.io.IOException; public class TestCom { public static void main(String[] args) { String osName=System.getProperty("os.name"); System.out.println(osName); StringBuffer systempathBuff=new StringBuffer(""); if(osName.indexOf("Windows")>-1){ systempathBuff.append("c:\\WINDOWS\\system32\\cmd.exe"); } if(osName.indexOf("NT")>-1){ systempathBuff.append("c:\\WINDOWS\\command.exe"); } String[] cmd=new String[2]; cmd[0]=systempathBuff.toString(); cmd[1]="/c calc.exe";//计算器的绝对路径 System.out.println(cmd); try { Process p=Runtime.getRuntime().exec(cmd); } catch (IOException e) { e.printStackTrace(); } } } 那你直接调用windows自带的计算器就可以了。 public class Counter extends WindowAdapter { Panel p1 = new Panel(); Panel p2 = new Panel(); Panel p3 = new Panel(); TextField txt; private Button[] b = new Button[17]; private String ss[] = {"7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", "clear", "0", "=", "/", "close"}; static double a; static String s, str;// 定义变量 创建对像 public static void main(String args[]) { (new Counter()).frame(); } public void frame() { Frame fm = new Frame("简单计算器"); for (int i = 0; i import java。 awt。*; import javax。 swing。*; import java。 awt。event。 *; class Counter2 extends WindowAdapter { static JFrame f=new JFrame("¼ÆËãÆ÷"); static JTextField text1=new JTextField("0。 "); static String source=""; static String cal=""; static String object=""; static boolean flag=false; static boolean flag1=true; static boolean flag2=false; public void init() { try { Container c=f。 getContentPane(); JPanel pan1=new JPanel(); JButton b1=new JButton("1"); JButton b2=new JButton("2"); JButton b3=new JButton("3"); JButton b4=new JButton("4"); JButton b5=new JButton("5"); JButton b6=new JButton("6"); JButton b7=new JButton("7"); JButton b8=new JButton("8"); JButton b9=new JButton("9"); JButton b0=new JButton("0"); JButton b11=new JButton("+"); JButton b12=new JButton("-"); JButton b13=new JButton("*"); JButton b14=new JButton("/"); JButton b15=new JButton("。 "); JButton b16=new JButton("="); JButton bclar=new JButton("ÇåÁã"); text1。 (JTextField。 RIGHT); c。 add(text1,"North"); c。add(pan1); A aa=new A(); Result re=new Result(); Opertion op=new Opertion(); Clar cl=new Clar(); b1。 addActionListener(aa); b2。addActionListener(aa); b3。 addActionListener(aa); b4。addActionListener(aa); b5。 addActionListener(aa); b6。 addActionListener(aa); b7。 addActionListener(aa); b8。addActionListener(aa); b9。 addActionListener(aa); b0。addActionListener(aa); b11。 addActionListener(op); b12。addActionListener(op); b13。 addActionListener(op); b14。addActionListener(op); b16。 addActionListener(re); b15。addActionListener(aa); bclar。 addActionListener(cl); pan1。add(b1); pan1。 add(b2); pan1。 add(b3); pan1。 add(b11); pan1。add(b4); pan1。 add(b5); pan1。add(b6); pan1。 add(b12); pan1。add(b7); pan1。 add(b8); pan1。add(b9); pan1。 add(b13); pan1。add(b0); pan1。 add(b15); pan1。add(b16); pan1。 add(b14); pan1。 add(bclar); f。 setSize(200,220); f。setVisible(true); } catch(Exception e) { System。 out。println(e。 getMessage()); } } class A implements ActionListener { public void actionPerformed(ActionEvent e) { String a=text1。 getText(); String s=e。 getActionCommand(); if(a。equals("0。 ")||a。equals("+")||a。 equals("-")||a。equals("*")||a。 equals("/")) text1。 setText(s); else { if(flag2) { text1。 setText(s); flag2=false; } else text1。 setText(a+s); } } } class Opertion implements ActionListener { public void actionPerformed(ActionEvent e) { cal=e。 getActionCommand(); if(flag1==true) source=text1。getText(); text1。 setText(cal); flag1=false; flag=true; } } class Result implements ActionListener { public void actionPerformed(ActionEvent e) { double num1; num1=Double。 parseDouble(source); object=text1。 getText(); double num2; num2=Double。parseDouble(object); double result=0; if(cal。 equals("+")) result=num1+num2; if(cal。equals("-")) result=num1-num2; if(cal。 equals("*")) result=num1*num2; if(cal。 equals("/")) if(num2==0) text1。 setText("³ýÊý²»ÄÜΪ0"); else result=num1/num2; String s1=Double。 toString(result); text1。 setText(s1); flag1=true; flag2=true; } } class Clar implements ActionListener { public void actionPerformed(ActionEvent e) { text1。 setText("0。 "); } } public static void main(String[] args) { Counter2 count=new Counter2(); count。init(); } public void windowClosing(WindowEvent e){ System。 exit(1); } public void windowOpened(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowClosed(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowDeactivated(WindowEvent e){} }(请进入应用“微问”里查看自己提出的问题并给出好评,谢谢)。 import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.SwingConstants;public class Jisuanqi extends JFrame implements ActionListener {/** * */private static final long serialVersionUID = 1L;Result result = new Result(); // 定义text的面板Number_Key number_key = new Number_Key(); // 定义按钮面板// 当点击按钮+、-、*、/时,com = trueboolean com = false;// 当i=0时说明是我们第一次输入,字符串text不会累加int i = 0;// 存放text的内容String text = "";// 存放点击按钮+、-、*、/之前的数值double defbutton = 0;// +、-、*、/的代号分别为1,2,3,4int symbol = 0;// 构造函数Jisuanqi() {super("WangJiao"); // 设定标题(JFrame.EXIT_ON_CLOSE); // 设定关闭窗体时退出程序JPanel pane = new JPanel(); // 定义主面板pane.setLayout(new BorderLayout());setBounds(380, 220, 30, 80); // 前两个参数是在屏幕上显示的坐标,后两个是大小// 替换图标ImageIcon icon = new ImageIcon("F:1.GIF");// Jisuanqi.class.getResource("APPLE.GIF")// );setIconImage(icon.getImage());pane.add(result, BorderLayout.NORTH);pane.add(number_key, BorderLayout.CENTER);pane.add(number_key.equal, BorderLayout.SOUTH);number_key.one.addActionListener(this); // 对1按钮添加监听事件number_key.two.addActionListener(this); // 对2按钮添加监听事件number_key.three.addActionListener(this); // 对3按钮添加监听事件number_key.four.addActionListener(this); // 对4按钮添加监听事件number_key.five.addActionListener(this); // 对5按钮添加监听事件number_key.six.addActionListener(this); // 对6按钮添加监听事件number_key.seven.addActionListener(this); // 对7按钮添加监听事件number_key.eight.addActionListener(this); // 对8按钮添加监听事件number_key.nine.addActionListener(this); // 对9按钮添加监听事件number_key.zero.addActionListener(this); // 对0按钮添加监听事件number_key.ce.addActionListener(this); // 对置零按钮添加监听事件number_key.plus.addActionListener(this); // 对+按钮添加监听事件number_key.equal.addActionListener(this); // 对=按钮添加监听事件number_key.sub.addActionListener(this); // 对-按钮添加监听事件number_key.mul.addActionListener(this); // 对*按钮添加监听事件number_key.div.addActionListener(this); // 对/按钮添加监听事件number_key.point.addActionListener(this); // 对.按钮添加监听事件setContentPane(pane);pack(); // 初始化窗体大小为正好盛放所有按钮}// 各个按钮触发的事件public void actionPerformed(ActionEvent e) {/* * 如果是点击数字按钮那么先要判断是否在此之前点击了+、-、*、/、=,如果是那么com=true 如果没有com= * false;或者是否点击数字键,如果是i = 1,如果没有 i = 0; */if (e.getSource() == number_key.one) {if (com || i == 0) {result.text.setText("1");com = false;i = 1;} else {text = result.text.getText();result.text.setText(text + "1");}} else if (e.getSource() == number_key.two) {if (com || i == 0) {result.text.setText("2");com = false;i = 1;} else {text = result.text.getText();result.text.setText(text + "2");}} else if (e.getSource() == number_key.three) {if (com || i == 0) {result.text.setText("3");com = false;i = 1;} else {text = result.text.getText();result.text.setText(text + "3");}} else if (e.getSource() == number_key.four) {if (com || i == 0) {result.text.setText("4");com = false;i = 1;} else {text = result.text.getText();result.text.setText(text + "4");}} else if (e.getSource() == number_key.five) {if (com || i == 0) {result.text.setText("5");com = false;i = 1;} else {text = result.text.getText();result.text.setText(text + "5");}} else if (e.getSource() == number_key.six) {if (com || i == 0) {result.text.setText("6");com = false;i = 1;} else {text = result.text.getText();result.text.setText(text + "6");}} else if (e.getSource() == number_key.seven) {if (com || i == 0) {result.text.setText("7");com = false;i = 1;} else {text = result.text.getText();result.text.setText(text + "7");}} else if (e.getSource() == number_key.eight) {if (com || i == 0) {result.text.setText("8");com = false;i = 1;} else {text = result.text.getText();result.text.setText(text + "8");}} else if (e.getSource() == number_key.nine) {if (com || i == 0) {result.text.setText("9");com = false;i = 1;} else {t。 有分加没啊 !!!!!! import java.awt.*;import java.awt.event.*;public class jisuanqi extends WindowAdapter { Panel p1 = new Panel(); Panel p2 = new Panel(); Panel p3 = new Panel(); TextField txt; private Button[] b = new Button[17]; private String ss[] = { "7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", "清空", "0", "=", "/", "关闭" }; static double a; static String s, str;// 定义变量 创建对像 public static void main(String args[]) { (new jisuanqi()).frame(); } public void frame() { Frame fm = new Frame("简单计算器"); for (int i = 0; i <= 16; i++) { b[i] = new Button(ss[i]); } for (int i = 0; i <= 15; i++) { p2.add(b[i]); } // 创建按钮 并添加到P2 b[16].setBackground(Color.yellow); txt = new TextField(15); txt.setEditable(false); for (int i = 0; i <= 16; i++) { b[i].addActionListener(new buttonlistener());// 添加监听器 } b[16].addActionListener(new close()); fm.addWindowListener(this); fm.setBackground(Color.red); p1.setLayout(new BorderLayout()); p1.add(txt, "North"); p2.setLayout(new GridLayout(4, 4)); p3.setLayout(new BorderLayout()); p3.add(b[16]); fm.add(p1, "North"); fm.add(p2, "Center"); fm.add(p3, "South"); fm.pack(); fm.setVisible(true);// 都是些窗中设置 添加相关组件和监听器 } public void windowClosing(WindowEvent e) { System.exit(0);// 退出系统 } class buttonlistener implements ActionListener {// 编写监听器事件 通过按键得出给果 public void actionPerformed(ActionEvent e) { Button btn = (Button) e.getSource(); if (btn.getLabel() == "=") { jisuan(); str = String.valueOf(a); txt.setText(str); s = ""; } else if (btn.getLabel() == "+") { jisuan(); txt.setText(""); s = "+"; } else if (btn.getLabel() == "-") { jisuan(); txt.setText(""); s = "-"; } else if (btn.getLabel() == "/") { jisuan(); txt.setText(""); s = "/"; } else if (btn.getLabel() == "*") { jisuan(); txt.setText(""); s = "*"; } else { txt.setText(txt.getText() + btn.getLabel()); if (btn.getLabel() == "清空") txt.setText(""); } } public void jisuan() {// 编写具体计算方法 if (s == "+") a += Double.parseDouble(txt.getText()); else if (s == "-") a -= Double.parseDouble(txt.getText()); else if (s == "*") a *= Double.parseDouble(txt.getText()); else if (s == "/") a /= Double.parseDouble(txt.getText()); else a = Double.parseDouble(txt.getText()); } }}class close implements ActionListener {// 退出 public void actionPerformed(ActionEvent e) { System.exit(0); }}。 很简单的,界面咱就不说了,给你分析下: 一般计算器的构成: 一个显示区域 1.10个数字按钮 .和小数点 2.+-*/ 4个算符按 3. CE/C(清空键) 功能键 4.+/-转换 5.= 思路是对按钮侦听,把事件流按上面的方法分为5组,用if分支来实现 如果按了数字/. 就当作字符连接保存在临时变量中(String temp),直到按到 4个算符之一时,就分别保存 前面的表示按过的数字的字符串和 算符(比如存在 str1 和operator中),然后清空temp变量,再等待输入数字 当遇到=号时, 将 temp 和str1 转化为int/Double,将两数按operator中的算符进行计算,放到文本区域上去。. 1.构造界面. 2.对各个按钮实现ActionListener 3.重写ActionListener方法,在此方法中实现上面说的。 给你一个参考,希望不要被百度吞了当晚餐import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.text.DecimalFormat;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class Calculator { //计算器面板 private JFrame f = new JFrame("Calculator"); //输入面扳 private JPanel inputPanel = new JPanel(); //加减乘除面板 private JPanel operationPanel = new JPanel(); //数字面板 private JPanel buttonsPanel = new JPanel(); //输入数据文本框 private JTextField input = new JTextField(20); //退格键 private JButton backspace = new JButton("BackSpace"); //清空 private JButton CE = new JButton("CE "); //删除 private JButton C = new JButton("C "); //四则运算符号键 private JButton add = new JButton("+"); private JButton sub = new JButton("-"); private JButton mul = new JButton("*"); private JButton div = new JButton("/"); //小数点 private JButton decimal = new JButton("."); //等号 private JButton equal = new JButton("="); //数字键 private JButton zero = new JButton("0"); private JButton one = new JButton("1"); private JButton two = new JButton("2"); private JButton three = new JButton("3"); private JButton four = new JButton("4"); private JButton five = new JButton("5"); private JButton six = new JButton("6"); private JButton seven = new JButton("7"); private JButton eight = new JButton("8"); private JButton nine = new JButton("9"); private String num1 = "";//保存第一个运算数字 private String operator = "";//保存运算符号 public static void main(String[] args) { new Calculator();//new计算器实例 } public Calculator(){ //添加组件,布局 inputPanel.add(input); f.add(inputPanel, BorderLayout.NORTH); operationPanel.add(backspace); operationPanel.add(CE); operationPanel.add(C); f.add(operationPanel, BorderLayout.CENTER); buttonsPanel.add(add); buttonsPanel.add(sub); buttonsPanel.add(mul); buttonsPanel.add(div); buttonsPanel.add(one); buttonsPanel.add(two); buttonsPanel.add(three); buttonsPanel.add(zero); buttonsPanel.add(four); buttonsPanel.add(five); buttonsPanel.add(six); buttonsPanel.add(decimal); buttonsPanel.add(seven); buttonsPanel.add(eight); buttonsPanel.add(nine); buttonsPanel.add(equal); buttonsPanel.setLayout(new GridLayout(4, 4)); f.add(buttonsPanel, BorderLayout.SOUTH); //注册各个组件监听事件 backspace.addMouseListener(new ()); CE.addMouseListener(new ()); C.addMouseListener(new ()); decimal.addMouseListener(new ()); equal.addMouseListener(new ()); //注册四则运算监听 add.addMouseListener(new CalcMouseListener()); sub.addMouseListener(new CalcMouseListener()); mul.addMouseListener(new CalcMouseListener()); div.addMouseListener(new CalcMouseListener()); //注册数字监听事件 zero.addMouseListener(new NumberMouseListener()); one.addMouseListener(new NumberMouseListener()); two.addMouseListener(new NumberMouseListener()); three.addMouseListener(new NumberMouseListener()); four.addMouseListener(new NumberMouseListener()); five.addMouseListener(new NumberMouseListener()); six.addMouseListener(new NumberMouseListener()); seven.addMouseListener(new NumberMouseListener()); eight.addMouseListener(new NumberMouseListener()); nine.addMouseListener(new NumberMouseListener()); f.setVisible(true); f.pack(); f.(JFrame.EXIT_ON_CLOSE); } private class NumberMouseListener implements MouseListener{ public void mouseClicked(MouseEvent e) { if(input.getText().trim().equals("0")){//如果文本框已经是0,结果还是0 input.setText(((JButton)e.getSource()).getText().trim()); }else{//否则的话,把0添加到后面,譬如文本框是1,结果就为10 input.setText(input.getText().concat(((JButton)e.getSource()).getText().trim())); } } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} } private class CalcMouseListener implements MouseListener{ //如果输入的是运算符号,保存第一个结果和运算符号 public void mouseClicked(MouseEvent e) { num1 = input.getText().trim();input.setText(""); operator = ((JButton)e.getSource()).getText().trim(); } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void 。 转载请注明出处windows之家 » Java计算器怎么做win102.求助 Java如何实现Windows自带的计算器?
3.javafx编写计算器
4.如何用Java制作一个计算器?并能 爱问
5.你好,怎样简单的用JAVA制作计算器
6.制作java计算器
7.用java做计算器流程
8.用java程序编写一个计算器