[問題] JAVA 說明文件寫錯了?
在 Class ItemEvent 裡
http://download.oracle.com/javase/6/docs/api/java/awt/event/ItemEvent.html
有一個 method 是 Object getItem()
他的說明是 Returns the item affected by the event.
看起來回傳值是 Object
可是我在實做 ItemListener 時,寫了下面這段程式:
public void itemStateChanged(ItemEvent e) {
System.out.println(e.getItem().getClass());
}
跑出來竟然是 class java.lang.String !!
也因此我不能用 getItem() 取得是誰觸發了事件…
是 java 的說明文件寫錯了嗎?
不過有另一個繼承自 java.util.EventObject 的 method
Object getSource()
把剛剛的程式改成用這個 method 的話
會出現 class java.awt.Checkbox
雖然觸發事件的確實是 Checkbox,可是回傳的物件不是應該是 Object 嗎…?
--
光明 的背後 是 黑暗
黑暗 的背後 還是 黑暗
由此可知 黑暗 > 光明 Q.E.D.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.128.39
推
02/18 03:22, , 1F
02/18 03:22, 1F
→
02/18 03:24, , 2F
02/18 03:24, 2F
→
02/18 03:24, , 3F
02/18 03:24, 3F
推
02/18 03:25, , 4F
02/18 03:25, 4F
→
02/18 03:27, , 5F
02/18 03:27, 5F
→
02/18 03:27, , 6F
02/18 03:27, 6F
喔對…改掉了
→
02/18 07:36, , 7F
02/18 07:36, 7F
推
02/18 08:17, , 8F
02/18 08:17, 8F
而且用 getClass() 看明明是 Checkbox
卻不能寫 e.getSource().getLable()
一定要先轉型-> ( (Checkbox)e.getSource() ).getLable()
雖然 e.getSource() 不能知道來源是什麼物件
可是 getClass() 卻能知道,這裡我覺得還蠻怪的…
※ 編輯: darkgerm 來自: 124.8.139.231 (02/18 10:06)
推
02/18 11:21, , 9F
02/18 11:21, 9F
推
02/18 11:28, , 10F
02/18 11:28, 10F
推
02/27 12:42, , 11F
02/27 12:42, 11F
討論串 (同標題文章)