import java.awt.*;
import java.awt.event.*;
public class TestInnerClass {
public static void main(String[] args) {
new TFFrame().launchFrame();
}
}
class TFFrame extends Frame {
public void launchFrame() {
TextField num1 = new TextField(10);
TextField num2 = new TextField(10);
TextField num3 = new TextField(15);
Label lbPlus = new Label("+");
Button btnEqual = new Button("=");
setLayout(new FlowLayout());
add(num1);
add(lbPlus);
add(num2);
add(btnEqual);
add(num3);
btnEqual.addActionListener(new MyMonitor(num1, num2, num3));
pack();
setVisible(true);
}
}
class MyMonitor implements ActionListener {
TextField num1,num2,num3;
MyMonitor(TextField num1, TextField num2, TextField num3) {//用构造函数实现
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
}
public void actionPerformed(ActionEvent e) {
int n1 = Integer.parseInt(num1.getText());
int n2 = Integer.parseInt(num2.getText());
int n3 = n1 + n2;
num3.setText("" + n3);
}
}
import java.awt.*;
import java.awt.event.*;
public class TestInnerClass {
public static void main(String[] args) {
new TFFrame().launchFrame();
}
}
class TFFrame extends Frame {
public void launchFrame() {
TextField num1 = new TextField(10);
TextField num2 = new TextField(10);
TextField num3 = new TextField(15);
Label lbPlus = new Label("+");
Button btnEqual = new Button("=");
setLayout(new FlowLayout());
add(num1);
add(lbPlus);
add(num2);
add(btnEqual);
add(num3);
btnEqual.addActionListener(new MyMonitor(this/*num1, num2, num3*/));
pack();
setVisible(true);
}
}
class MyMonitor implements ActionListener {
// TextField num1,num2,num3;
// MyMonitor(TextField num1, TextField num2, TextField num3) {
// this.num1 = num1;
// this.num2 = num2;
// this.num3 = num3;
// }
//持有对方的引用
TFFrame tf = null;
public MyMonitor(TFFrame tf) {
this.tf = tf;
}
public void actionPerformed(ActionEvent e) {
int n1 = Integer.parseInt(tf.num1.getText());
int n2 = Integer.parseInt(tf.num2.getText());
int n3 = n1 + n2;
tf.num3.setText("" + n3);
}
}
import java.awt.*;
import java.awt.event.*;
public class TestInnerClass {
public static void main(String[] args) {
new TFFrame().launchFrame();
}
}
class TFFrame extends Frame {
TextField num1, num2, num3;
public void launchFrame() {
num1 = new TextField(10);
num2 = new TextField(10);
num3 = new TextField(15);
Label lbPlus = new Label("+");
Button btnEqual = new Button("=");
setLayout(new FlowLayout());
add(num1);
add(lbPlus);
add(num2);
add(btnEqual);
add(num3);
btnEqual.addActionListener(new MyMonitor());
pack();
setVisible(true);
}
//内部类:1,方便的访问包装类的成员
// 2,该类不允许或不需要其他类进行访问
class MyMonitor implements ActionListener {
public void actionPerformed(ActionEvent e) {
int n1 = Integer.parseInt(num1.getText());
int n2 = Integer.parseInt(num2.getText());
int n3 = n1 + n2;
num3.setText("" + n3);
}
}
}
分享到:
相关推荐
JAVA设计模式例程-策略模式,在项目中除工厂模式外就数策略模式用得最多了。源程序,可以研究下。不过没有反射,策略模式结合反射的话,基本上就是一个插件架构。可扩展性超强。
简单JAVA例程(绝对新手实例)认识JAVA。简单的JAVA程序!
一个非常简单的Java程序 计算长方体的表面积和体积
本资源是关于明华读卡器的Java例程,真实可用。自己做过测试。
java设计模式详细解析,通过实例介绍23种设计模式,以chm格式提供,方便查阅。
JAVA设计模式例程-工厂模式-的例程,看完以后基本上能对JAVA上实现简单工厂能有所了解,简单工厂还是比较容易滴,而且也是较为常用的一种设计模式。
java初学者必看,关于监控器,jdbc,绘图方面操作,外加自己写的一个选修课作业
JAVA设计模式例程-装饰模式-的例程,看完以后基本上能对JAVA上实现装饰模式能有所了解,个人认为常各种模式并不是为了死套各种模式,而应该是灵活的在项目中结合实际情况而用各种模式的组合应用,呵呵!但前提是得对...
51单片机基础例程
JAVA的基础例程,一些关于java的简单程序代码与文档,有助于JAVA基础薄弱的人快速提高,而且也有助于一般的开卷考试课哦,其中一定有你需要的
JAVA设计模式例程-工厂模式,一个实例,正在学习设计模式的朋友可看一下,看完了后应该对工厂模式有所了解了。
《java程序设计教程》(第2版)雍俊海 教材例程。包括教材各章所有例子的代码。
基于51单片机GUI设计TFTLCD触摸屏实验软件例程源码-简易计算器.rar
几个java描述的适用于初学者的例程源代码,可随意修改,寓学与实际操作。
代理模式JAVA源程,正在学设计模式的朋友可以看下。比较容易理解。
基于Java的扫雷、俄罗斯方块、聊天工具、五子棋,游戏例程。
java串口通信,压缩包包含rxtxcomm以及javacomm20例程,以及一个test例程,已测试。
Java 教材中的例程.zip
这个是java的一些例程,虽然是英文的,但是完全看的懂
java侧起server(NioUdpServer1.java),基于Java Nio的selector 阻塞等候,一个android app(NioUdpClient1文件夹)和一个java程序(UI.java)作为两个client分别向该server发数据,server收到后分别打印收到的消息...