Encrypt 類別完整的範例程式碼,請參考Encrypt.java
EncryptorGUI 類別完整的範例程式碼,請參考EncryptorGUI.java
我們繼續完成 EncryptorGUI 剩下該有的功能.... 先來想想,如果使用者在 Output 標籤 (label) 後面的文字方塊 (textfield) 輸入文字,這會是怎麼樣的光景呢?
或許有人會認為使用者不應該這麼做,因為那是我們放編碼、解碼輸出結果的地方。但是使用者不應該這麼做,並不代表使用者不會這麼做,有時候會不小心唄!因此,如果有使用者在 Output 輸入文字,並且很順暢的按下 Enter 鍵,那我們就在 hint 標籤提供提示訊息
這個事件 (event) 交給 OutputListener 處理
// 輸出文字方塊的事件 class OutputListener implements ActionListener { public void actionPerformed(ActionEvent event) { JLabel t = (JLabel) GUIComponent.get(2); t.setText("This is Output textfield. Why do you do this?"); } }
actionPerformed() 為使用者按下 Enter 才會執行的方法,最常用的就是按鈕 (button) 哩!記得, Output 的視窗元件要登記相關的事件處理,不然沒有效果喔!
t = (JTextField) GUIComponent.get(4); t.addActionListener(new OutputListener());
Clear 按鈕,我們希望效果是清除所有資料
這個事件交給 ClearListener 處理
// 清除文字方塊及暫存資料的事件 class ClearListener implements ActionListener { public void actionPerformed(ActionEvent event) { userinput = ""; result = ""; JTextField t2 = (JTextField) GUIComponent.get(3); t2.setText(""); JTextField t3 = (JTextField) GUIComponent.get(4); t3.setText(""); JLabel t1 = (JLabel) GUIComponent.get(2); t1.setText("This is Clear button. Your input is clear."); } }
很簡單,兩個屬性 (field) userinput 與 result 設定為空字串 (string) ,然後兩個文字方塊也設定為空字串,這樣原本文字方塊中的文字就會被清空了。
Copy 按鈕,我們希望將 result 拷貝到作業系統 (operating system) 的剪貼簿
這樣就可以在其他軟體中貼上 result 的字串
這個事件交給 ClearListener 處理
// 將輸出結果拷貝到作業系統的剪貼簿 class CopyListener implements ActionListener { public void actionPerformed(ActionEvent event) { JTextField t2 = (JTextField) GUIComponent.get(4); t2.selectAll(); t2.copy(); JLabel t1 = (JLabel) GUIComponent.get(2); t1.setText("This is Copy button. Result is copied to clipboard."); } }
這裡,我們是取得 Output 文字方塊的字串
JTextField t2 = (JTextField) GUIComponent.get(4); t2.selectAll(); t2.copy();
selectAll() 會選取文字方塊中所有的文字, copy() 就會拷貝到作業系統的剪貼簿中。
嗯,我們一路從基礎學習,然後開發 Encrypt ,接著設計利用 Encrypt 的圖形介面軟體 EncryptorGUI ,到這裡告一段落囉!下一步應該是?
中英文術語對照 | |
---|---|
類別 | class |
標籤 | label |
文字方塊 | textfield |
事件 | event |
按鈕 | button |
屬性 | field |
字串 | string |
作業系統 | operating system |
您可以繼續參考
GUI 篇
相關目錄
回 Java 入門指南
回 Java 教材目錄
回首頁
參考資料
The JavaTM Tutorials: Getting Started
The JavaTM Tutorials: Learning the Java Language
The JavaTM Tutorials: Essential Classes
The Java Language Specification, Third Edition
本文於 2013 年 1 月訂正
沒有留言:
張貼留言