时间处理机制
- event
- ActionEvent
- MouseEvent
- KeyEvent
- FocusEvent
- ......
event source产生事件的源
System.getProperties().stroe(new FileOutputStream("sys.propertees"),"sys ");
System.getProperties().list(System.out);//输出键值对,系统信息
javaa -classpath c://a.zip;d:\zbc a.b.A -Dfile.encoding=GBK -Djdbc.driveers=
-classpath到当前目录下寻找class文件,先找c盘根目录a文件夹,再继续找子文件夹
java -D=b
不同操作系统对回车换行支持不同PrintWriter 一行一行输出至文件中使用
java读文件默认#注释
注意:流对象别人传进来的不要关闭,自己打开的自己关
getSource() 返回事件源的Object
EventObject是一切事件类的父类
EventListener 听众接口必须继承的接口
事件类,继承自java.util.EventObject
event delegation model事件委托模型
听众注册函数
public interface
public class Student
{
private int age;
List<AgeChangedListener> listener = new LinkedList<AgeChangedListener>();
public void addAgeChangedListener(AgeChangedListener acl)
{
if(!listeners.contains(acl))
{
listener.add(acl);//注册听众
}
}
public void process(AgeChangedEvent ace )
{
//for循环,委托处理
for(int i = 0;i < listener.size();i++)
{
AgeChangedListener acl = listener.get(i);
new Thread(){//多线程,使得多个多个庆祝生日同时进行
public void run()
{
acl.processAgeChanged(ace);
}.start();
}
}
}
}
public class parent implements AgeChangedListener
{
public void processAgeChanged(AgeChangeEvent ace)
{
System.out.println("buy something");
}
}
process函数 广播机制
具有不确定性的多用interface
import java.awt.*
import java.awt.event.*
public class MyFrame extends Frame
{
public static void main()
{
new MyFrame();
}
public MyFrame()
{
Button b1 = new button("OK");
Button b2 = new button("cancel");
add(b1);add(b2);
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
Button b = (Button)ae.getSource();
if(b == b1)
{
//...
}
else
{
System.exit(0);
//...
}
}
});
b2.addActionListener();
setSize(300,200);
setVisible(true);
}
}