import java.awt.*;
import java.awt.event.*;
class MypanelL extends Panel
{
Label l1,l2;
TextField t1,t2;
MypanelL()//构造函数
{
this.setLayout(new GridLayout(4,1));//用网格布局4行1列
l1=new Label("X");//创建标签
l2=new Label("Y");
t1=new TextField(10);//创建文本框其中10为文本框的大小
t2=new TextField(10);
add(l1);
add(t1);
add(l2);
add(t2);
}
}
class MypanelR extends Panel//继承一个Panel//类
{
Button button1;
Button button2;
MypanelR()
{
this.setLayout(new GridLayout(2,1));
button1=new Button("X+Y");
button2=new Button("X-Y");
add(button1);
add(button2);
}
}
public class Exa6 extends Frame implements ActionListener//继承frame类与actionlistener接口
{
MypanelL p1;
MypanelR pr;
TextArea text;
Button button;
int s;
public Exa6()
{
super("加减法计算器");//给frame类添加标题
this.setLayout(new BorderLayout());//用边界布局
p1=new MypanelL();//创建容器
pr=new MypanelR();
button=new Button("清除");//创建按钮
text=new TextArea(20,20);//创建一个文本域
this.add(p1,BorderLayout.WEST);//设置容器的位置
this.add(pr,BorderLayout.EAST);
this.add(text,BorderLayout.CENTER);
this.add(button,BorderLayout.SOUTH);
pr.button1.addActionListener(this);//注册一个监听器
pr.button2.addActionListener(this);//注册一个监听器
button.addActionListener(this);//注册一个监听器
this.addWindowListener(new WindowAdapter()//创建一个匿名类
{
//关闭窗口事件
public void windowClosing(WindowEvent e)
{
//退出应用程序
System.exit(0);
}
});
this.pack();//自动调整窗口大小,也可以说成是压缩窗体大小
this.show();//窗体显示
}
public void actionPerformed(ActionEvent e)//重写监听器里面的方法
{
if(e.getSource()==pr.button1)//判断获得数据源是否为button按钮
{
try{
int n=Integer.parseInt(p1.t1.getText());//string类型转换为int
int m=Integer.parseInt(p1.t2.getText());
s=m+n;
text.setText(n+"与"+m+"的和是"+s);//设置text里面的值
}
catch(NumberFormatException e1)
{
text.setText("输入数据错误!请重新输入!");
}
}
if(e.getSource()==pr.button2)
{
try{
int n=Integer.parseInt(p1.t1.getText());
int m=Integer.parseInt(p1.t2.getText());
s=n-m;
text.setText(n+"与"+m+"的差是"+s);
}
catch(NumberFormatException e1)
{
text.setText("输入数据错误!请重新输入!");
}
}
if(e.getSource()==button)
{
text.setText("");
}
}
public static void main(String[] args)
{
Exa6 e=new Exa6();//事例一个对象
}
}
如果还有不懂的可以继续追加问我
这不都写的差不多了,还有什么要注释的啊
这不都写的差不多了,还有什么要注释的啊