java简单计算器实现,只有四则运算
2016-11-29 07:56
525 查看
import java.awt.Color; import java.awt.FlowLayout; import java.awt.Toolkit; import java.awt.datatransfer.StringSelection; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JTextField; import com.sun.glass.ui.Clipboard; public class calculator extends JFrame implements ActionListener{ //定义菜单元素 JMenuBar myJMenuBar; JMenu menu ,menu2,menu3; JMenuItem item,item2,item3, item4,item5,item6; JTextField inputField; JButton[] NumButton;//数字键 JButton[] symbol;//符号键 //定义数据变量 int sum; String fuhao,sum1="1",sum2="0"; //画窗体 calculator(int width,int length,int x,int y){ super("简单计算机"); setLayout(new FlowLayout()); setBounds(width,length,x,y); init(); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } //加组件 private void init() { //表头菜单 myJMenuBar=new JMenuBar(); menu = new JMenu("编辑"); menu2 = new JMenu("帮助"); menu3 = new JMenu("关于我们"); //menu子菜单 item = new JMenuItem("清空"); item2 = new JMenuItem("撤销"); item3= new JMenuItem("复制"); //menu3子菜单 item4= new JMenuItem("作者"); item5= new JMenuItem("版本"); item6= new JMenuItem("制作日期"); //子菜单方法 item.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ inputField.setText(""); } }); item3.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ calculator.setSystemClipboard(inputField.getText()); } }); item4.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "作者:----", "作者信息", JOptionPane.ERROR_MESSAGE); } }); item5.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "版本:1.0", "版本信息", JOptionPane.ERROR_MESSAGE); } }); item6.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "制作日期:11.17.2016", "制作信息", JOptionPane.ERROR_MESSAGE); } }); //菜单组件和他们方法的添加 menu.add(item); menu.add(item2); menu.add(item3); menu3.add(item4); menu3.add(item5); menu3.add(item6); myJMenuBar.add(menu); myJMenuBar.add(menu2); myJMenuBar.add(menu3); setJMenuBar(myJMenuBar); //显示屏的添加 inputField =new JTextField(13); inputField.setHorizontalAlignment(JTextField.RIGHT); inputField.setBackground(Color.WHITE); inputField.setCaretColor(Color.WHITE); add(inputField); //数字键的添加 NumButton = new JButton[10]; int i; for(i= 0;i<NumButton.length;i++){ String Num =i+""; NumButton[i]=new JButton(Num); NumButton[i].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {//这个方法是为了实现在显示屏追加数字的 String str = inputField.getText(); inputField.setText(str+Num); } }); add(NumButton[i]); } //符号按钮声明 symbol= new JButton[6]; symbol[0]= new JButton("+"); symbol[1]= new JButton("-"); symbol[2]= new JButton("*"); symbol[3]= new JButton("/"); symbol[4]= new JButton("="); symbol[5]= new JButton("退格"); //四则运算以及按钮方法的实现 symbol[0].addMouseListener(new MouseAdapter() { private int clickCount=1,count=0; public void mouseEntered(MouseEvent e){ System.out.println("鼠标进入到加法按钮"+count++); } public void mouseClicked(MouseEvent e){ fuhao="+"; System.out.println("点击"+clickCount+",加法"+fuhao); System.out.println("点击动作"+clickCount++); if(clickCount%2 == 0){ sum1=inputField.getText(); System.out.println("the first num ="+sum1); inputField.setText(""); }else{ sum2=inputField.getText(); System.out.println("the second num ="+sum2); inputField.setText(""); int s1 =Integer.parseInt(sum1.trim()); int s2 =Integer.parseInt(sum2.trim()); System.out.println(s1); System.out.println(s2); int sum = s1 +s2; inputField.setText(sum+""); System.out.println("sum="+sum); } } }); symbol[1].addMouseListener(new MouseAdapter() { private int clickCount=1,count=0; public void mouseEntered(MouseEvent e){ System.out.println("鼠标进入到减法按钮"+count++); } public void mouseClicked(MouseEvent e){ fuhao="-"; System.out.println("点击"+clickCount+",减法"+fuhao); System.out.println("点击动作"+clickCount++); if(clickCount%2 == 0){ sum1=inputField.getText(); System.out.println(sum1); inputField.setText(""); }else{ sum2=inputField.getText(); System.out.println(sum2); inputField.setText(""); int s1 =Integer.parseInt(sum1.trim()); int s2 =Integer.parseInt(sum2.trim()); System.out.println(s1); System.out.println(s2); int sum = s1 -s2; inputField.setText(sum+""); } System.out.println(sum); } }); symbol[2].addMouseListener(new MouseAdapter() { private int clickCount=1,count=0; public void mouseEntered(MouseEvent e){ System.out.println("鼠标进入到乘法按钮"+count++); } public void mouseClicked(MouseEvent e){ fuhao="*"; System.out.println("点击"+clickCount+",乘法"+fuhao); System.out.println("点击动作"+clickCount++); if(clickCount%2 == 0){ sum1=inputField.getText(); System.out.println(sum1); inputField.setText(""); }else{ sum2=inputField.getText(); System.out.println(sum2); inputField.setText(""); int s1 =Integer.parseInt(sum1.trim()); int s2 =Integer.parseInt(sum2.trim()); System.out.println(s1); System.out.println(s2); int sum = s1 *s2; inputField.setText(sum+""); } System.out.println(sum); } }); symbol[3].addMouseListener(new MouseAdapter() { private int clickCount=1,count=0; public void mouseEntered(MouseEvent e){ System.out.println("鼠标进入到除法按钮"+count++); } public void mouseClicked(MouseEvent e){ fuhao="/"; System.out.println("点击"+clickCount+",除法"+fuhao); System.out.println("点击动作"+clickCount++); if(clickCount%2 == 0){ sum1=inputField.getText(); System.out.println(sum1); inputField.setText(""); }else{ sum2=inputField.getText(); System.out.println(sum2); inputField.setText(""); int s1 =Integer.parseInt(sum1.trim()); int s2 =Integer.parseInt(sum2.trim()); System.out.println(s1); System.out.println(s2); int sum = s1 /s2; inputField.setText(sum+""); } System.out.println(sum); } }); symbol[4].addActionListener(this); symbol[5].addMouseListener(new MouseAdapter() { private int count=0; public void mouseEntered(MouseEvent e){ System.out.println("鼠标进入到退格按钮"+count++); } public void mouseClicked(MouseEvent e){ String str = inputField.getText(); String strend = str.substring(0,str.length()-1); inputField.setText(strend); } }); //添加符号按钮 for(i=0;i<symbol.length;i++){ add(symbol[i]); } } //剪切板利用,复制显示屏内容的方法 public static void setSystemClipboard(String refContent){ String vc = refContent.trim(); StringSelection ss = new StringSelection(vc); java.awt.datatransfer.Clipboard sysClb = null; sysClb =Toolkit.getDefaultToolkit().getSystemClipboard(); sysClb.setContents(ss,null); } //等于号方法实现 public void actionPerformed(ActionEvent e) { if(fuhao.equals("+")){ System.out.println("符号是:"+fuhao); sum2=inputField.getText(); System.out.println("the second num ="+sum2); inputField.setText(""); int s1 =Integer.parseInt(sum1.trim()); int s2 =Integer.parseInt(sum2.trim()); System.out.println(s1); System.out.println(s2); int sum = s1 +s2; inputField.setText(sum+""); System.out.println("sum="+sum); } if(fuhao.equals("-")){ sum2=inputField.getText(); System.out.println("the second num ="+sum2); inputField.setText(""); int s1 =Integer.parseInt(sum1.trim()); int s2 =Integer.parseInt(sum2.trim()); System.out.println(s1); System.out.println(s2); int sum = s1 -s2; inputField.setText(sum+""); System.out.println("sum="+sum); } if(fuhao.equals("*")){ sum2=inputField.getText(); System.out.println("the second num ="+sum2); inputField.setText(""); int s1 =Integer.parseInt(sum1.trim()); int s2 =Integer.parseInt(sum2.trim()); System.out.println(s1); System.out.println(s2); int sum = s1 *s2; inputField.setText(sum+""); System.out.println("sum="+sum); } if(fuhao.equals("/")){ sum2=inputField.getText(); System.out.println("the second num ="+sum2); inputField.setText(""); int s1 =Integer.parseInt(sum1.trim()); int s2 =Integer.parseInt(sum2.trim()); System.out.println(s1); System.out.println(s2); int sum = s1 /s2; inputField.setText(sum+""); System.out.println("sum="+sum); } } }
相关文章推荐
- java实现简单计算器
- java swing实现简单计算器
- java实现简单计算器算法--支持浮点数运算
- JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例
- java实现简单计算器功能
- JAVA实现四则运算
- java GUI 简单计算器实现
- java使用栈和逆波兰表达式实现四则运算
- Java实现简单计算器
- java利用栈实现四则运算
- Java实现的简单计算器
- [Java小程序] 实现简单计算器
- java 实现带括号的加减乘除四则运算
- java为什么只有实现了Serializable接口才可以序列化
- Java阻塞队列BlockingQueue实现生产者消费者-只有代码-不讲原理
- 简单计算器的java实现
- 《java---简单计算器的实现》
- 用java具体代码实现分数(即有理数)四则运算
- JAVA实现简单计算器
- java实现逆波兰式四则运算