java项目实战-计算器(页面布局学习 添加事件)
来源:互联网 发布:剑网三有挂机软件么 编辑:程序博客网 时间:2024/06/06 09:08
package com.ten.jiauanqi;import java.awt.*;import java.awt.event.*;public class Calculator extends WindowAdapter{//定义3个面板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;//创建double类型变量static String s,str;//创建String类型变量public static void main(String args[]){(new Calculator()).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]);}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);}}}
效果图:
0 0
- java项目实战-计算器(页面布局学习 添加事件)
- Java页面布局设计计算器
- Java实战项目__简易计算器
- 浅谈Vue项目实战(页面渲染+事件绑定)
- java实现简单的页面布局和按钮单击事件(学习中)
- 【实战】计算器的样式布局
- java实战项目视频学习
- 页面布局学习(一)
- 页面布局学习(二)
- 页面布局学习(三)
- jQuery实战学习笔记(二)-用jQuery为页面添加活力
- java swing入门 计算器布局
- java实战项目+学习路线+学习建议
- 【Android】利用Java代码布局,按钮添加点击事件
- java小项目--计算器
- 初次项目,页面布局
- Java实现一个简单的计算器(流式布局)
- 2,JQuery学习-为页面的元素添加点击事件
- Android自定义属性,format详解
- Spark学习笔记-SparkSQL-1
- 树上的动态规划
- 为什么单选框叫radio button
- rtx任务间通信--信号量
- java项目实战-计算器(页面布局学习 添加事件)
- 设计模式 之 职责链
- 第二章线性表知识点导图
- epoll事件处理机制详解
- 单例模式Singleton实现(C++&Java)
- Django 安全漏洞
- Dice - HDU 5012 搜索
- leetcode:Construct Binary Tree from Preorder and Inorder Traversal
- rtx任务间通信--互斥量