Java編程GUI中的事件綁定代碼示例
程序綁定的概念:
綁定指的是一個(gè)方法的調(diào)用與方法所在的類(方法主體)關(guān)聯(lián)起來。對java來說,綁定分為靜態(tài)綁定和動(dòng)態(tài)綁定;或者叫做前期綁定和后期綁定
靜態(tài)綁定:
在程序執(zhí)行前方法已經(jīng)被綁定,此時(shí)由編譯器或其它連接程序?qū)崿F(xiàn)。例如:C。
針對java簡單的可以理解為程序編譯期的綁定;這里特別說明一點(diǎn),java當(dāng)中的方法只有final,static,private和構(gòu)造方法是前期綁定
動(dòng)態(tài)綁定
后期綁定:在運(yùn)行時(shí)根據(jù)具體對象的類型進(jìn)行綁定。
若一種語言實(shí)現(xiàn)了后期綁定,同時(shí)必須提供一些機(jī)制,可在運(yùn)行期間判斷對象的類型,并分別調(diào)用適當(dāng)?shù)姆椒?。也就是說,編譯器此時(shí)依然不知道對象的類型,但方法調(diào)用機(jī)制能自己去調(diào)查,找到正確的方法主體。不同的語言對后期綁定的實(shí)現(xiàn)方法是有所區(qū)別的。但我們至少可以這樣認(rèn)為:它們都要在對象中安插某些特殊類型的信息。
public class TFMath { public static void main(String[] args) { new TFrame(); } } class TFrame extends Frame{ TextField tf1, tf2, tf3; TFrame(){ tf1 = new TextField("", 10); tf2 = new TextField("", 10); tf3 = new TextField("", 12); Label lbladd = new Label("+"); Button btneq = new Button("="); Monitor mnt = new Monitor(this); btneq.addActionListener(mnt); super.add(tf1); super.add(lbladd); super.add(tf2); super.add(btneq); super.add(tf3); super.setLayout(new FlowLayout(FlowLayout.CENTER)); super.pack(); super.setBounds(400, 400, 500, 300); super.setBackground(Color.DARK_GRAY); super.setVisible(true); } } class Monitor implements ActionListener{ TFrame tf = null; public Monitor(TFrame tf){ this.tf = tf; } public void actionPerformed(ActionEvent e){ int num1 = Integer.parseInt(tf.tf1.getText()); int num2 = Integer.parseInt(tf.tf2.getText()); int num3 = num1 + num2; tf.tf3.setText(String.valueOf(num3)); } }
所需要的包自行導(dǎo)入即可,代碼測試可用,但尚需完善,待小編更新。
總結(jié)
以上就是本文關(guān)于Java編程GUI中的事件綁定代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java多線程編程安全退出線程方法介紹、Java多線程Callable接口實(shí)現(xiàn)代碼示例等,有什么問題可以直接留言,小編會(huì)及時(shí)回復(fù)大家的。下面推薦本站兩本Java編程相關(guān)的書籍,免費(fèi)下載,供廣大編程愛好及工作者學(xué)習(xí)參考:
Java設(shè)計(jì)模式深入研究 PDF
http://www.dbjr.com.cn/books/581548.html
Java經(jīng)典實(shí)例(第三版) 完整版 ([美]達(dá)爾文) 中文pdf掃描版
http://www.dbjr.com.cn/books/577859.html
希望大家喜歡!
相關(guān)文章
idea社區(qū)版如何設(shè)置vm?options
這篇文章主要介紹了idea社區(qū)版如何設(shè)置vm?options問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09SpringBoot+slf4j線程池全鏈路調(diào)用日志跟蹤問題及解決思路(二)
本文主要給大家介紹如何實(shí)現(xiàn)子線程中的traceId日志跟蹤,本文通過封裝Callable為例給大家介紹的非常詳細(xì),需要的朋友一起看看吧2021-05-05mybatis定義sql語句標(biāo)簽之delete標(biāo)簽解析
這篇文章主要介紹了mybatis定義sql語句標(biāo)簽之delete標(biāo)簽解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Spring Boot console log 格式自定義方式
這篇文章主要介紹了Spring Boot console log 格式自定義方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07解析Java線程編程中的線程安全與synchronized的使用
這篇文章主要介紹了Java線程編程中的線程安全與synchronized的使用,synchronized多線程使用時(shí)一定要注意線程之間的沖突問題,需要的朋友可以參考下2015-12-12仿京東平臺(tái)框架開發(fā)開放平臺(tái)(包含需求,服務(wù)端代碼,SDK代碼)
現(xiàn)在開放平臺(tái)越來越多了,下面針對仿京東開放平臺(tái)框架,封裝自己的開放平臺(tái),分享給大家。先感謝一下京東開放平臺(tái)的技術(shù)大佬們,下面從開放平臺(tái)需求,服務(wù)端代碼,SDK代碼三大塊進(jìn)行分享2021-06-06