import java.awt.*;
import java.awt.event.*;
public class calculator implements ActionListener{
Frame f;
Panel p1,p2;
TextField op1,op2,result;
Button calc,clearb;
public void show(){
f = new Frame("一个简单的计算器");
f.setSize(240,180);
f.setLocation(300,200); //设置窗口初始位置
f.setBackground(Color.lightGray);
f.setLayout(new FlowLayout()); //设置布局管理器
result = new TextField(20);
result.setEditable(false); //不允许用户编辑
op1 = new TextField("0",4);
op2 = new TextField("0",4);
p1=new Panel();
p1.add(op1);
p1.add(new Label("+"));
p1.add(op2);
f.add(result);
f.add(p1);
calc = new Button(" = ");
clearb = new Button("Clear");
p2=new Panel();
p2.add(calc);
p2.add(clearb);
f.add(p2);
calc.addActionListener(this); //为按钮注册事件监听程序
clearb.addActionListener(this);
f.addWindowListener(new WinClose()); //为框架f注册事件监听程序
f.setVisible(true);
}
public void actionPerformed(ActionEvent e){ //实现ActionListener接口中的方法,单击按钮时产生该事件
if(e.getSource()==clearb){ //获得产生事件的对象
result.setText("");
op1.setText("0");
op2.setText("0");
}
else //获取按钮标签,重新设置文本内容
if(e.getSource()==calc){
int sum,x,y;
String S1=op1.getText().trim();
String S2=op2.getText().trim();
String tempS;
x=Integer.parseInt(S1); //取得左操作数
y=Integer.parseInt(S2);
sum=x+y;
result.setText(String.valueOf(x)+"+"+String.valueOf(y)+"="+String.valueOf(sum));
}
}
public static void main(String arg[]){
(new calculator()).show();
}
}
class WinClose implements WindowListener{
public void windowClosing(WindowEvent e){
System.exit(0);
}
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.*;
import java.awt.event.*;
public class calculator implements ActionListener
{
Frame f;
TextField tf1;
Button b1,b2,b3,b4,b5;
public void display()
{
f = new Frame("Calculation");
f.setSize(260,150);
f.setLocation(320,240); //设置窗口初始位置
f.setBackground(Color.lightGray);
f.setLayout(new FlowLayout(FlowLayout.LEFT));//改变布局且左对齐
tf1 = new TextField(30);
tf1.setEditable(false); //只能显示,不允许编辑
f.add(tf1);
b1 = new Button("1");
b2 = new Button("2");
b3 = new Button("+");
b4 = new Button("C");
b5 = new Button("=");
f.add(b1);
f.add(b2);
f.add(b3);
f.add(b4);
f.add(b5);
b1.addActionListener(this); //为按钮b1注册事件监听程序
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
f.addWindowListener(new WinClose()); //为框架f注册事件监听程序
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{ //实现ActionListener接口中的方法,单击按钮时产生该事件
if (e.getSource()==b4) //获得产生事件的对象
tf1.setText("");
else //获取按钮标签,重新设置文本内容
if(e.getSource()==b5)
{ int sum,a,b;
String textS=tf1.getText().trim();
String tempS;
int founded=textS.indexOf('+'); //返回“+”在串的位置
if(founded==-1) //串中不含“+”
tf1.setText("not a formula");
else
{
a=Integer.parseInt(textS.substring(0,founded));//取得“+”前面的字符作为左操作数
// tf1.setText(String.valueOf(a));
tempS=textS.substring(founded+1);//取得“+”右面的字符作为右操作数
b=Integer.parseInt(tempS);
sum=a+b;
tf1.setText(String.valueOf(a)+"+"+String.valueOf(a)+"="+String.valueOf(sum));
//tf1.setText(String.valueOf(sum));
}
}
else
tf1.setText(tf1.getText()+e.getActionCommand());
}
public static void main(String arg[])
{
(new calculator()).display();
}
}
class WinClose extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{ //覆盖WindowAdapter类中同名方法,单击窗口关闭按钮时产生该事件
System.exit(0); //结束程序运行,关闭窗口
}
}*/
没有合适的资源?快使用搜索试试~ 我知道了~
JAVA 教程和源码
共150个文件
java:112个
class:30个
html:4个
需积分: 3 10 下载量 119 浏览量
2008-10-15
13:37:30
上传
评论
收藏 99KB RAR 举报
温馨提示
JAVA入门和提高的教程和相关的源文件,详细的讲解很容易就可以上手,并有相关的练习!
资源推荐
资源详情
资源评论
收起资源包目录
JAVA 教程和源码 (150个子文件)
myBorderLayout.java.bak 802B
testJar.bat 101B
bat.bat 41B
Book_Obj.class 2KB
Book_cons.class 1KB
StudentClssDemo.class 1KB
useBook.class 1KB
testType.class 1KB
ex_exception_fib.class 1KB
testLogic.class 939B
Circle.class 909B
ex_add.class 906B
BookDemo1.class 887B
BookDemo.class 869B
testArithDemo1.class 865B
testFloatDemo.class 834B
ex_for_sum.class 825B
PassValue.class 811B
testIntDemo.class 801B
testArith.class 755B
ex_break.class 751B
ex_arit.class 732B
ex_dowhile_Fib.class 679B
ex_while.class 664B
ex_Circle.class 663B
PassAddr.class 642B
useBookDemo2.class 625B
Hello.class 516B
testChar.class 478B
testBool.class 475B
FishInherit.class 471B
test.class 420B
HelloApp.class 367B
AppletDemo.html 239B
Hello.html 203B
AppletDemo.html 134B
AppletDemo.html 134B
calculator.java 5KB
threadStateDemo.java 5KB
testMenuDemo.java 4KB
testItemEvent.java 3KB
PipeDemo.java 3KB
IOCharStream.java 3KB
testTextArea.java 3KB
myCardLayoutImage.java 2KB
testFileDialog.java 2KB
BackupFile.java 2KB
TestMouse.java 2KB
BuyerLockTicket.java 2KB
Animal_abstract.java 2KB
ArraySort.java 2KB
ArraySort.java 2KB
BuyTicket.java 2KB
soundAudioClip.java 2KB
Circle.java 2KB
fileCharStream.java 2KB
InheritDemo4_6.java 2KB
GUIDemo.java 2KB
useInterfaceDemo.java 1KB
testMenu.java 1KB
ProducerConsumerDemo.java 1KB
showFileAttr.java 1KB
ObjectSerializableDemo.java 1KB
Olympic.java 1KB
ThrowsException.java 1KB
Book_cons.java 1KB
threadPriorityDemo.java 1KB
AnonyAdapter.java 1KB
CatchExceptionDemo.java 1KB
InheritDemo4_7.java 1KB
testType.java 1KB
myGridLayout.java 986B
ex_exception_fib.java 974B
Drawgraphics.java 971B
CreateException.java 942B
Book_Obj.java 941B
useBookDemo2.java 939B
FileRandomAccess.java 935B
RunnableDemo.java 931B
threadDemo.java 922B
CatchExceptionFib.java 919B
ArrayCopy.java 890B
StudentClssDemo.java 887B
StringConS.java 874B
showApplet.java 872B
innerAdapter.java 871B
FishDemo.java 850B
StdIO.java 837B
myBorderLayout.java 802B
setFontColor.java 796B
StringSearch.java 784B
StringTrans.java 781B
InterclassDemo.java 766B
FishInherit.java 757B
createDirectory.java 743B
useBook.java 740B
myFlowLayout.java 732B
ArrayMax.java 712B
PassAddr.java 696B
Fish.java 683B
共 150 条
- 1
- 2
资源评论
adsl_adsl
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现车牌识别程序,和论文,自己做的,做毕业设计的可以看看 .rar
- Windows系统下安装与配置Neo4j的步骤
- 基于matlab实现潮流计算和最优潮流计算的程序1,对毕业设计有一定用处.rar
- 基于大数据学习资源推荐系统的设计与实现(部署视频)-kaic.mp4
- 哈工大形式语言和自动机2022期末含答案
- Windows系统下安装与配置Neo4j的步骤
- 哈希算法(Hash Algorithm)是一种将任意长度的二进制数据映射为较短的、固定长度的二进制值的函数.txt
- Windows系统下安装与配置Neo4j的步骤
- 在二叉树或更复杂的树形结构中,先序输出叶结点.txt
- 列出所有祖先结点的概念通常与树形结构或图论中的节点相关.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功