編程方法學 – 公開課學習筆記(七)

來源:互聯網
上載者:User

第19課 介面,Map,Collection和Iterator 2011.8.5、6

介面:set of methods, common functionality among set fo classes.繼承方式是有層次關係,子類和父類的關係,而介面只是某些共性的實現。

Map: <key,vaule>是一個介面。在我的以往開發,是經常使用者儲存資料。implements這個介面,有HashMap<T,T>(這個我經常用),Key和value都需要是對象。可以建立對象Interface a = new MyClass();

Collection:同樣也是一個介面。ArrayList是它的一個實作類別。

Iterator:也是一個介面,對於collection都具有Iterator的介面。list throuth set of values,可以持續地掃描內容,方法有hasNext(),next(), remove()。迭代器可以使用簡單掃描方式,例如對於一個ArrayList list,可以用Iterator<String> it=list.iterator();。Map中key是collection(可以同keySet())方法來擷取,所有可以通過Iterator(例如phonebook.keySet().iterator())來掃描key,進而可以遍曆Map的資料。

在java5.0之後,有一個新的for迴圈的寫法,使用iterator方式(按常規,我們一般都是通過while(it.hasNext( it.net())){};的方式的方式),由於iterator出現在Collection中,直接寫為:for(Type name:Collection){}。例如for(String name: phonebook.keySet()){},在迴圈體中,name就是為依次掃描iterator得到的值。ArrayList是一個Collection,所以可以for(String
name:list){}這樣的方式。有人稱之為for each結構,當然名字並不重要。

第20課 圖形化使用者介面GUI 2011.8.8

介紹Java的swing的widget的使用能夠方式,這裡稱為interactor。對於個ConsoleProgram而言,右圖是Swing的布局,如果持續兩個控制項要求是South,會自動布局為從左至右的方式。

Swing的布局還可以,以前用過做一個後台系統,看起來風格清新,不錯。這裡面講的,我以前沒有注意的是JComboBox是可以加入新的選項,setEditable(true),不過一般不需要如此處理。

介紹了JButton, JComboBox, JRadioButton。

第21課 Interactor和Listener回顧 2011.8.9

通過Listener來檢測Interactor的事件。例如addActionListeners()用於檢測按鈕,並通過ActionPerformed(ActionEvent e)中觸發處理。 通過e.getActionCommand()來擷取Button的text內容,以判斷哪個button觸發操作。e.getSource()這直接返回觸發動作的對象,可以是否==某個對象來判斷。

介紹了JTextField,如果類extends Program(或者Console Program),可通過tf.addActionListener(this)來添加監聽器,輸入文字後按“Enter”實現事件觸發。同樣在ActionPerformed(ActionEvent e)中加入觸發處理內容。可以為TextField指定一個命令,通過setActionCommand(),也可以通過檢查名字來判斷是那個對象觸發。IntField和JTextField類似,區別是只能輸入整數。

接著介紹Layout。GridLayout。setLayout(...);還有TableLayout,TableLayout中的控制項大小不隨著size變化而自動改變,而GridLayout會布滿整個空間。

上一課講了ConsolePragram的布局,對於CENTER,也是可以setLayout(...),而console的文本輸入是自動作為第一個element的,此外將GCavas作為element加入。

相關連結:我的與編程思想相關的文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.