Java編程GUI中的事件綁定代碼示例
程序綁定的概念:
綁定指的是一個(gè)方法的調(diào)用與方法所在的類(方法主體)關(guān)聯(lián)起來(lái)。對(duì)java來(lái)說(shuō),綁定分為靜態(tài)綁定和動(dòng)態(tài)綁定;或者叫做前期綁定和后期綁定
靜態(tài)綁定:
在程序執(zhí)行前方法已經(jīng)被綁定,此時(shí)由編譯器或其它連接程序?qū)崿F(xiàn)。例如:C。
針對(duì)java簡(jiǎn)單的可以理解為程序編譯期的綁定;這里特別說(shuō)明一點(diǎn),java當(dāng)中的方法只有final,static,private和構(gòu)造方法是前期綁定
動(dòng)態(tài)綁定
后期綁定:在運(yùn)行時(shí)根據(jù)具體對(duì)象的類型進(jìn)行綁定。
若一種語(yǔ)言實(shí)現(xiàn)了后期綁定,同時(shí)必須提供一些機(jī)制,可在運(yùn)行期間判斷對(duì)象的類型,并分別調(diào)用適當(dāng)?shù)姆椒?。也就是說(shuō),編譯器此時(shí)依然不知道對(duì)象的類型,但方法調(diào)用機(jī)制能自己去調(diào)查,找到正確的方法主體。不同的語(yǔ)言對(duì)后期綁定的實(shí)現(xiàn)方法是有所區(qū)別的。但我們至少可以這樣認(rèn)為:它們都要在對(duì)象中安插某些特殊類型的信息。
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)入即可,代碼測(cè)試可用,但尚需完善,待小編更新。
總結(jié)
以上就是本文關(guān)于Java編程GUI中的事件綁定代碼示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java多線程編程安全退出線程方法介紹、Java多線程Callable接口實(shí)現(xiàn)代碼示例等,有什么問題可以直接留言,小編會(huì)及時(shí)回復(fù)大家的。下面推薦本站兩本Java編程相關(guān)的書籍,免費(fèi)下載,供廣大編程愛好及工作者學(xué)習(xí)參考:
Java設(shè)計(jì)模式深入研究 PDF
http://www.fzitv.net/books/581548.html
Java經(jīng)典實(shí)例(第三版) 完整版 ([美]達(dá)爾文) 中文pdf掃描版
http://www.fzitv.net/books/577859.html
希望大家喜歡!
相關(guān)文章
5個(gè)JAVA入門必看的經(jīng)典實(shí)例
這篇文章主要為大家詳細(xì)介紹了5個(gè)JAVA入門必看的經(jīng)典實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
SpringBoot MockMvc單元測(cè)試的示例代碼
這篇文章主要介紹了SpringBoot MockMvc單元測(cè)試的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
關(guān)于jar包與war包的區(qū)別及說(shuō)明
這篇文章主要介紹了關(guān)于jar包與war包的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
JAVA線程sleep()和wait()詳解及實(shí)例
這篇文章主要介紹了JAVA線程sleep()和wait()詳解及實(shí)例的相關(guān)資料,探討一下sleep()和wait()方法的區(qū)別和實(shí)現(xiàn)機(jī)制,需要的朋友可以參考下2017-05-05
詳解使用Spring?Data?repository進(jìn)行數(shù)據(jù)層的訪問問題
這篇文章主要介紹了使用Spring?Data?repository進(jìn)行數(shù)據(jù)層的訪問,抽象出Spring Data repository是因?yàn)樵陂_發(fā)過(guò)程中,常常會(huì)為了實(shí)現(xiàn)不同持久化存儲(chǔ)的數(shù)據(jù)訪問層而寫大量的大同小異的代碼,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-06-06
Flowable數(shù)據(jù)庫(kù)表分類及數(shù)據(jù)字典解析
這篇文章主要介紹了Flowable數(shù)據(jù)庫(kù)表分類及數(shù)據(jù)字典解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
eclipse創(chuàng)建springboot項(xiàng)目的三種方式總結(jié)
這篇文章主要介紹了eclipse創(chuàng)建springboot項(xiàng)目的三種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
MybatisPlus修改時(shí)空字段無(wú)法修改的解決方案
這篇文章主要介紹了MybatisPlus修改時(shí)空字段無(wú)法修改的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
詳解 JAVA的回調(diào)機(jī)制CallBack
最近學(xué)習(xí)java,接觸到了回調(diào)機(jī)制(CallBack)。初識(shí)時(shí)感覺比較混亂,而且在網(wǎng)上搜索到的相關(guān)的講解,要么一言帶過(guò),要么說(shuō)的比較單純的像是給CallBack做了一個(gè)定義,本文給大家介紹JAVA的回調(diào)機(jī)制CallBack,感興趣的朋友一起學(xué)習(xí)2016-04-04

