2005年4月2日 #
摘要: 經過jungleford幾個月業余時間的設計、編碼、加工和文檔化之后,時鐘和日歷的可視化組件庫SmartCalendar終于發布到了sourceforge上,這是本人做的第一個(估計也可能是最后一個)比較正規化的軟件,雖然目前規模很小,但個人覺得還是比較有意義的:某種程度上為JDK沒有GUI日歷組件的問題提供了一種可選的解決方案——當你在用JFileChooser或JColorChooser的時候,或許會納悶怎么沒有日期選擇框呢?當然,這個工作早已有人做了,我的想法只是提高它的可重用性和規范化一些;鍛煉了一些建模能力,理解了一些設計模式的思想;熟悉了一些軟件設計規范化和文檔化的過程;當然,嘿嘿,也鍛煉了一把英語作文。 閱讀全文
摘要: 開始做模擬時鐘的bean了,看dW上Java 2D的那個例子很有意思,比JDK自帶的applet要簡單,因為用到了仿射變換(Affine Transformation),只用簡單得多的運算就可以繪制較高質量的動畫。乘SUN的JavaDoc中文化之東風,先把java.awt.geom.AffineTransform的API doc之一部分簡單翻譯一下,只涉及到一點幾何和線性代數的小常識 閱讀全文
摘要: 可能有不少初學者會有這樣的困惑(以前我也有過):在你的代碼里調用了一些資源文件,如圖片,音樂等,在調試環境或單獨運行的時候可以正常顯示或播放,而一旦打包到jar文件中,這些東東就再也出不來了,除非把這個jar放到原來未打包以前的目錄下,但通常jar是單獨發布的。這里介紹一個解決這類問題的方法。 閱讀全文
摘要: 如果你是一個MSN的多年用戶,是否會有這樣的煩惱:可能你在好幾個不同的地方上網(家中、學校、公司、使用筆記本移動等等),在每個地方的機器上都保留一套MSN聊天記錄,一段時間后也許你就要離開某個地方了(譬如畢業),但又想保存那臺機器上的聊天記錄,怎么辦?一般是把“C:\Documents and Settings\<你的機器帳號>\My Documents\我接收到的文件\<你的MSN帳號再加上一串數字>\歷史記錄”文件夾拷貝一份備份著,這樣時間一長,你可能就有好幾個這樣的“歷史記錄”,在MSN Messenger里查看得到的只是你當前機器上的那部分記錄,如果想要看其它記錄,只好手動打開那些拷貝過來的XML文件了。 閱讀全文
摘要: 曾經在水木“軍事影視”版連續貼了幾段經典戰爭片的音樂片斷,發覺其實電影配樂比一般音樂來得更讓人感動。我個人并不熱衷于音樂,僅僅對歷史有關的東西抱有強烈的興趣,所以以往一些老片會拿出來反復回味,在電影中特定環境下的音樂恰好是一種極好的調味劑。以下是最近我在militarymovie版貼過的一些軍事片配樂。 閱讀全文
摘要: 去年做的一個尚未成型的郵件客戶端 閱讀全文
摘要: 這是我在去年國慶期間寫的一篇小文,曾經貼到水木清華history版,清明又要到了,權當憑吊這位老人罷…… 閱讀全文
摘要: PushbackInputStream和PushbackReader是Java I/O系統里兩個比較讓人迷惑的類,我以前對它(們)就不太了解,直到某一天看了以前水母Java版的牛人zms的評論和一些資料以后才有所獲益。這是幾個月以前的事情了,這幾天寫有關序列化的總結時才想到這也不失為一個好的話題。 閱讀全文
摘要: 已經有一個多月沒有搭理blog了,原因很多,譬如實驗室的項目正在收工,巨忙;譬如找工作及其相關的事情;而且二月份大部分時間是陪老爹老媽,家里撥號的速度可想而知……但主要還是沒有找到一個合適的topic,或者說這段時間懶了(臨畢業前期綜合癥),凈在看《漢武大帝》和歷史方面的書,還有其它亂七八糟的閑書,就是沒有認真地玩Java,哈哈!現在工作差不多落實了,好在不算太爛,小資青年jungleford的生活又開始步入正軌了!以上是新年里的一些廢話。 今天稍微聊一點關于“程序狀態保存”方面的問題,我們很容易就會想到“序列化”(Serialization,有的書上又翻譯為“順序化”或者“串行化”,但“串行”一詞總是讓我聯想到通信和硬件接口,所以我更習慣于“序列化”的叫法,何況這種叫法是有來頭的,后面我會談到這個名稱的由來),當然,序列化是一種方便有效的數據存取方式,但它還有更加廣泛的應用。廣義上講,就是討論一下I/O的一些應用。 閱讀全文
摘要: 用慣了VC的人剛接觸Java大概很不習慣代碼的調試,的確,在M$的大部分IDE都做得相當出色,包括像VJ++這樣一直被Java程序員稱為是“垃圾”的類庫(記得以前在瀚海星云的Java版提有關VJ問題的人是有可能被封的,^_^),它的開發工具在調試上都相當容易。Java也有命令行方式的調試和IDE的調試,但現在的像JB這樣的玩意又是個龐然大物,低配置的機器可能就是個奢望,不像VC那樣。怎么辦呢,高手們說,“我的jdb用得賊熟練”,那我會報以景仰的目光,像我這樣的菜鳥基本上就沒使過jdb,還是老老實實在代碼里面System.out.println(...)。直到1996年一個叫做“歐洲安全電子市場”(E.U. SEMPER)的項目啟動,“調試”不再是一件“體力活”,而是一種軟件設計的藝術,這個項目組開發的日志管理接口后來成為Apache Jakarta項目中的一員,它就是現在我們所熟悉的log4j。下面的文字將概要介紹與Java日志記錄相關的一些技術,目的不是讓您放棄老土的System.out.println(...),而是說,在Java的世界里可以有許多種選擇,你今天覺得掌握了一件高級武 閱讀全文
摘要: 對于Java集合框架(Java Collections Framework,JCF),Java玩家大概都不會陌生,在C++里面相似的概念是標準模板庫(Standard Template Library,STL),主要是對一些數據結構和相關算法的封裝??紤]到這是一個Java初學者將會經常接觸的工具,所以有了以下的一些文字。主要是參考了IBM developerWorks上的一篇教程,它可能解釋得更加清晰,這里算是濃縮了一下吧,真正的來龍去脈可以看看JDK文檔里的“The Collections Framework”,說明更為詳細。 閱讀全文
摘要: 以前做一個界面的時候常常會遇到這樣的尷尬情況:希望保留各個獨立的組件(類),但又希望它們之間能夠相互通信。譬如Windows中的Explorer,我們希望鼠標點擊左邊是樹型目錄的一個節點,右邊的文件瀏覽能及時列出該節點目錄下的文件和子目錄,如果由于某種原因我們不想把這些組件統統放到一個類里面,應該怎么辦呢? 閱讀全文
摘要: 這是大約3、4年前剛開始學Java的時候寫的一個小玩意 閱讀全文
摘要: 這個圖表轉載自《Java安全性編程實例》,列出了JDK自帶的一些常用工具的功能,供初學者參考。 閱讀全文
摘要: J2SE API Documents是我們最常用的參考手冊,但細心的朋友可能會發現,在JDK在“%JAVA_HOME%\jre\lib\rt.jar”中包含比API文檔更多的類,那么其它的類為什么沒有在幫助文檔中出現呢?在SUN的JDK FAQ中有一篇“Why Developers Should Not Write Programs That Call 'sun' Packages”,該文部分地解答了這個問題,我將原文翻譯如下 閱讀全文
摘要: 第一次寫心得筆記,手都有點抖,班門弄斧啊,呵呵~~~歡迎各位大俠扔磚!本文是一篇學習筆記,概要介紹了Java登錄與授權機制及其應用。在一些用到的API關鍵字上做了鏈接,可以在線查相應的文檔。(2004-07-16) 閱讀全文
摘要: 告示:由于眾所周知的原因,SMTH已經不再對外開放了,我在水木的個人blog也無法訪問,因此暫時將它搬到這里來,繼續Java研究事業。其中可能有部分和IT,和技術無關的內容,譬如對歷史話題的討論(我是個歷史愛好者),還請見諒 :) 閱讀全文