文章來源:http://www.sqlite.org/lang_keywords.html

任何需要命名的物件都不可以 SQLite keywords 來命名,比如 tables, indices, columns, databases, user-defined functions, collations, virtual table modules 等。也就是一般常用的表格名稱,欄位名稱,都不可以用關鍵字來命名。

台南小新 發表在 痞客邦 留言(0) 人氣()

我的電腦經常開了一堆網頁,其中包含很耗資源的 Hotmail 及 USTREAM 網路電台,光那二個大怪獸用 Opera 開始就耗掉 164M 了,再加上 imo.im 也是用 flash 做的也耗掉 74M ,再加上 eclipse 本身也耗掉 137M,全部加起來電腦就顯得有點頓頓的,造成硬碟一直轉轉轉,配置 1G RAM 根本不夠用啊。所以每次在 eclipse 輸入程式碼的時候,一遇到程式碼自動提示功能就常常 LAG 好久,所以就想到要把它關掉不用,節省一些時間。

要關掉程式碼自動提示功能很簡單,只要把 auto activation 功能取消即可。Windows → Preferences → Java → Editor → Content Assist → Auto-Activation 裏面的 Enable auto activation 取消即可。

台南小新 發表在 痞客邦 留言(0) 人氣()

每次在寫 button 的 actionPerformed 時,經常會遇到一個問題,就是為了取得 JFrame instance 而煩惱。因為 actionPerformed 通常位於 ActionListener 內,而 ActionListener 通常是一個 inner class,透過 button 的 addActionListener 加入。此時為了控制一些 JFrame 內的元件,經常需要取得 JFrame 的 instance 才可以。當然,傳遞 window event 也是一種應用。

最簡單的方式就是透過 ActionEvent.getSource() 先取得 JButton 的 instance,再利用 SwingUtilities.windowForComponent 找出 JButton 所屬的 Window instance 即可。

台南小新 發表在 痞客邦 留言(0) 人氣()

這次再把一個 class 又拆成三個 class,這樣應該算是重構吧,只是還沒進階到 unit test 的階段,還要加油加油。

這次主要是在加入 WindowListener 時,發現在 addWindowListener(new DualBoot()) 會造成 JApplet 產生而浪費很多資源,如果把 WindowListener 獨立成一個 class 又顯得太多餘,我又不喜歡搞一堆 inner class。最後幹脆分成三個 class,這樣也比較符合單一職責原則(Single Responsibility Principle),並且在 applet 及 frame 內加入變體的 Singleton Pattern。為什麼叫做變體呢?因為理論上 applet 及 frame 只有一個單獨存在的個體,而且 applet 的建構函數是用 browser 調用,我也沒法子阻止。所以只是單純建立 getInstance 函數而已,並沒有隱藏建構函數。另外把 applet 的建構函數拿掉,之前都忘了呼叫 super(),雖然都沒事發生,但是為了確保一些問題,還是採用標準 applet 步驟,把所有建立元件動作放到 init()。

台南小新 發表在 痞客邦 留言(0) 人氣()

在前一篇把雙啟動功能分割成二個 class 來做,主要是考量在 Loader.class 可以專心做一些有關 applet 及 window 的變化。其實是可以將兩者合而為一,因為二者都是以 contentPane 為主體,所以可以直接把 JApplet 的 contentPane 指定給 JFrame 即可。

透過 jnlp 執行範例程式

台南小新 發表在 痞客邦 留言(0) 人氣()