⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dynamicevents.java

📁 翁剀JAVA语言那门课程的教案 很多人都看多他的视频教程可惜没有ppt的教案
💻 JAVA
字号:
//: DynamicEvents.java
// The new Java 1.1 event model allows you to
// change event behavior dynamically. Also
// demonstrates multiple actions for an event.
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class DynamicEvents extends Frame {
	Vector v = new Vector();
	int i = 0;
	Button
		b1 = new Button("Button 1"),
		b2 = new Button("Button 2");

	public DynamicEvents() {
		setLayout(new FlowLayout());
		b1.addActionListener(new B());
		b1.addActionListener(new B1());
		b2.addActionListener(new B());
		b2.addActionListener(new B2());
		add(b1);
		add(b2);
	}

	class B implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			System.out.println("A button was pressed");
		}
	}
	
	class CountListener implements ActionListener {
		int index;
		public CountListener(int i) { 
			index = i; 
		}
		public void actionPerformed(ActionEvent e) {
			System.out.println(
			"Counted Listener " + index);
		}
	}
	
	class B1 implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			System.out.println("Button 1 pressed");
			ActionListener a = new CountListener(i++);
			v.addElement(a);
			b2.addActionListener(a);
		}
	}

	class B2 implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			System.out.println("Button 2 pressed");
			int end = v.size() -1;
			if(end >= 0) {
				b2.removeActionListener(
				(ActionListener)v.elementAt(end));
				v.removeElementAt(end);
			}
		}
	}

	public static void main(String[] args) {
		Frame f = new DynamicEvents();
		f.addWindowListener(
			new WindowAdapter() {
				public void windowClosing(WindowEvent e){
					System.exit(0);
			}
			});
		f.setSize(300,200);
		f.show();
	}
} ///:~

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -