85事件处理
import java.awt.Button;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class A implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("hello");
}
}
public class Test {
public static void main(String[] args) {
Frame f = new Frame("haha");
Button bn = new Button("ok");
f.add(bn);
A aa = new A();
bn.addActionListener(aa);
f.pack();
f.setVisible(true);
// 适配器,设置窗体可以关闭
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
87十个按钮的设计
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Test {
public static void main(String[] args) {
Frame f = new Frame();
f.setSize(300, 300);
f.setLayout(new GridLayout(2, 1));// 2行1列
Panel p1 = new Panel();
p1.setLayout(new BorderLayout());
Panel p1_1 = new Panel();
p1_1.setLayout(new GridLayout(2, 1));// 2行1列
Button bn1 = new Button("BUTTON1");
Button bn2 = new Button("BUTTON2");
Button bn3 = new Button("BUTTON3");
Button bn4 = new Button("BUTTON4");
p1.add(bn1, BorderLayout.WEST);
p1_1.add(bn3);
p1_1.add(bn4);
p1.add(p1_1, BorderLayout.CENTER);
p1.add(bn2, BorderLayout.EAST);
Panel p2 = new Panel();
p2.setLayout(new BorderLayout());
Panel p2_1 = new Panel();
p2_1.setLayout(new GridLayout(2, 2));// 2行2列
Button bn5 = new Button("BUTTON5");
Button bn6 = new Button("BUTTON6");
Button bn7 = new Button("BUTTON7");
Button bn8 = new Button("BUTTON8");
Button bn9 = new Button("BUTTON9");
Button bn10 = new Button("BUTTON10");
p2.add(bn5, BorderLayout.WEST);
p2_1.add(bn7);
p2_1.add(bn8);
p2_1.add(bn9);
p2_1.add(bn10);
p2.add(p2_1, BorderLayout.CENTER);
p2.add(bn6, BorderLayout.EAST);
f.add(p1);
f.add(p2);
f.pack();
f.setVisible(true);
// 适配器,设置窗体可以关闭
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
88三个文本框的相加运算示例
89内部类 匿名类
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class TF {
public static TextField tf1, tf2, tf3;
public void launch() {
Frame f = new Frame();
tf1 = new TextField(30);
tf2 = new TextField(30);
tf3 = new TextField(30);
Button bn = new Button("=");
Label lb = new Label("+");
f.setLayout(new FlowLayout());
f.add(tf1);
f.add(lb);
f.add(tf2);
f.add(bn);
f.add(tf3);
bn.addActionListener(new MyMoniter());
f.pack();
f.setVisible(true);
// 适配器,设置窗体可以关闭
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
class MyMoniter implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
int num1 = Integer.parseInt(tf1.getText());
int num2 = Integer.parseInt(tf2.getText());
int num3 = num1 + num2;
Integer it = new Integer(num3);
String str3 = it.toString();
tf3.setText(str3);
}
}
}
public class Test {
public static void main(String[] args) {
new TF().launch();
}
}