神奇好望角 The Magical Cape of Good Hope

          庸人不必自擾,智者何需千慮?
          posts - 26, comments - 50, trackbacks - 0, articles - 11
            BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          JDK 源代碼中的搞笑之處

          Posted on 2007-11-30 17:47 蜀山兆孨龘 閱讀(1110) 評論(0)  編輯  收藏
          JDK 源代碼中的搞笑之處 Funny Things in JDK Source
            雖然完整版的 JDK 源代碼現已開放了,但安裝在 Java\jdk[版本號] 目錄下的公共 src.zip 仍然是我最經常參考的資源。每次我遇到一個 API 問題,都會刊這個公共源代碼。解決問題之余,我還找到很多有趣的東西,有時還搞笑。這里距三個例子。     Though the full version of JDK source is available now, but the public src.zip installed under Java\jdk[version_number] directory is still my most frequent refered resource. Every time I encounter an API problem, this public source is read. And besides solving those problems, I've also found many interesting things which are sometimes also funny. Here are three exaples.
            大概從 JDK 5.0 開始,類 java.lang.Object 引入了一個叫 wait(long timeout, int nanos) 的方法。等等,nanos,納秒?眾所周知,即使在強大的 Windows 多媒體 API 里面,計時器的精度也只有一毫秒,也就是一兆納秒。盡管 Java 非常棒,但不能處理納秒。而源代碼證明了這一點,納秒被舍入到最接近的毫秒,0 或 1……精彩……     Maybe since JDK 5.0, a method called wait(long timeout, int nanos)is introduced into Class java.lang.Object.Object. Wait a minute, nanos, is it nanoseconds? It's no secret thst even in powerful Windows multimedia API, the precision of timer is only one millisecond, that is a million nanosecond. Though Java is pretty great, it can not deal with nanoseconds. And the source proves it, that nanoseconds are rounded to the nearest millisecond, 0 or 1... Amazing...
            今天我想得到一個 JDialog 的所有者,但卻沒有 getOwner() 方法。最后我才明白 JDialog 的所有者就是它的父組件,用 getParent() 就可以了。那現在所有者等同于父級了?     Today I wanted to get a JDialog's owner, but there's no method called getOwner(). Finally I was awear that the owner of a JDialog is exactly its parent component, and just using getParent() is okey. So owner is synonymous with parent now?
            最后,我想提下 JSpinner 的實現有錯。一些安裝在 JSpinner 上的偵聽器絲毫不起作用。我在 JSpinner.java 里找到這段注釋:“還是不對,我們沒其他辦法了,SpinnerModelJFormattedTextField 現已不同步了。”JDK 的開發者的誠實值得感謝。我的解決方法是直接操控復合式組件 JSpinner 中的 JFormattedTextField     At last, I wanna mention the JSpinner implementation is bugged. Some kinds of listener installed on a JSpinner take no effect at all. I found this comment in JSpinner.java: "Still bogus, nothing else we can do, the SpinnerModel and JFormattedTextField are now out of sync." The JDK developers deserve a thank for honesty. My solution is to directly manipulate the JFormattedTextField within JSpinner, a compound JComponent.

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 扶沟县| 商水县| 长子县| 镶黄旗| 丁青县| 淄博市| 南溪县| 鱼台县| 永城市| 和龙市| 新建县| 乌拉特后旗| 信宜市| 兴山县| 赤峰市| 息烽县| 铁岭县| 威远县| 会昌县| 蚌埠市| 英超| 苍溪县| 股票| 柘城县| 新龙县| 如东县| 姚安县| 昌图县| 江安县| 南川市| 赤城县| 新巴尔虎右旗| 调兵山市| 黑河市| 德州市| 滦平县| 杂多县| 旬阳县| 炉霍县| 长岭县| 特克斯县|