Swing中的事件
事件驅(qū)動(dòng)
所有的GUI程序都是事件驅(qū)動(dòng)的。Swing當(dāng)然也是。
GUI程序不同于Command Line程序,一個(gè)很大的區(qū)別是程序執(zhí)行的驅(qū)動(dòng)條件:命令行程序是接受用戶輸入的文本參數(shù),對(duì)命令解析,然后通過類似switch的選擇來執(zhí)行不同的功能模塊。而GUI程 序就不一樣了。GUI程序由界面元素組成,如Button,CheckBox,TextArea,等等。用戶操作不同的組件,就會(huì)引發(fā)不同的事件,然后, 程序編寫時(shí)注冊(cè)到UI組件上的事件處理程序得到調(diào)用,以此來和用戶交互。
事件Event
事件有點(diǎn)類似于異常:事件是事件類的對(duì)象,它攜帶了事件相關(guān)的信息,異常是異常類的對(duì)象,他攜帶了異常信息。無論是異常,還是事件
發(fā)生時(shí),我們的程序都要事先寫好相應(yīng)的代碼應(yīng)對(duì)并處理。只不過,對(duì)于程序員來說,事件是正派的,而異常則是反派,誰也不希望自己的程序出現(xiàn)異常。
java中,所有的事件類都是EventObject類的子類,所有的事件都有一個(gè)成員字段:source用來保存事件源,即引發(fā)事件的對(duì)象。
EventObject serialVersionUID = 5516075349620653480L (source == IllegalArgumentException("null source".source = getClass().getName() + "[source=" + source + "]"