
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 月訂正
沒有留言:
張貼留言