最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java GUI編程之監(jiān)聽操作實(shí)例分析

 更新時間:2020年01月22日 10:08:41   作者:qq_42412646  
這篇文章主要介紹了java GUI編程之監(jiān)聽操作,結(jié)合實(shí)例形式分析了java GUI編程監(jiān)聽操作的Button監(jiān)聽、TextField文本輸入監(jiān)聽等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了java GUI編程之監(jiān)聽操作。分享給大家供大家參考,具體如下:

當(dāng)點(diǎn)擊Frame中的component組件時,會產(chǎn)生相應(yīng)的效果,但是相應(yīng)的其必須進(jìn)行監(jiān)聽,確定是那個對象,那種操作,但是如果用cup進(jìn)行主動的監(jiān)聽就會消耗大量的資源,所以有了被動的監(jiān)聽,即對應(yīng)的事件發(fā)生后會自動的執(zhí)行相關(guān)的代碼。

Button監(jiān)聽:

instance 1:

import java.awt.*;
import java.awt.event.*;
public class MoniterStart {
 public static void main(String[] args) {
 Frame f = new Frame();
 Button b = new Button("Press ");
 f.add(b,BorderLayout.CENTER);
 MyMonitor bh = new MyMonitor();
 b.addActionListener(bh);
 f.setBounds(100, 100, 300, 300);
 f.setVisible(true);
 }
}
class MyMonitor implements ActionListener{
 public void actionPerformed(ActionEvent e) {
 System.out.println("aAH");
 }
}

進(jìn)行被動監(jiān)聽是你必須確定是什么地方什么類型的componet發(fā)出的,我們不可能提供所有的信息,所以我們初建了一個事件對應(yīng)一個對象,其都實(shí)現(xiàn)了一個接口,當(dāng)事件發(fā)生時,就會調(diào)用對應(yīng)的事件方法。即(implements ActionListener),而對應(yīng)的當(dāng)實(shí)現(xiàn)方法是就要求其提供事件動作。

instance 2:

import java.awt.*;
import java.awt.event.*;
public class Monitor2 {
 public static void main(String[] args) {
 Frame f1 = new Frame();
 Button b1 = new Button("Start ");
 Button b2 = new Button("Stop ");
 b1.setActionCommand("The End");
 f1.add(b1,BorderLayout.CENTER);
 f1.add(b2,BorderLayout.SOUTH);
 MyMonitor1 bh = new MyMonitor1();
 b1.addActionListener(bh);
 b2.addActionListener(bh);
 f1.setBounds(100, 100, 300, 300);
 f1.setVisible(true);
 }
}
class MyMonitor1 implements ActionListener{
 public void actionPerformed(ActionEvent e) {
 System.out.println("aAH you get it " + e.getActionCommand());
 }
}

注:當(dāng)一個監(jiān)聽器監(jiān)聽多個button對象時,我們可以用setActionCommand進(jìn)行區(qū)別,這個相當(dāng)于是一個屬性亦或是一種標(biāo)記。

TextField(文本輸入監(jiān)聽)

instance 3;

import java.awt.*;
import java.awt.event.*;
public class TfMonitor {
 public static void main(String[] args) {
 new TFFrame();
 }
}
class TFFrame{
 TFFrame(){
 Frame f = new Frame("TF");
 TextField tf = new TextField();
 f.add(tf);
 tf.addActionListener(new TFFrameMonitor());
 f.setBounds(100, 100, 300, 300);
 f.setVisible(true);
 }
}
/*
class TFFrame extends Frame{
 TFFrame(){
// Frame f = new Frame("TF");
 TextField tf = new TextField();
 add(tf);
 tf.addActionListener(new TFFrameMonitor());
// f.setBounds(100, 100, 300, 300);
 setBounds(100, 100, 300, 300);
 setVisible(true);
 }
}
*/
class TFFrameMonitor implements ActionListener{
 public void actionPerformed(ActionEvent e) {
 TextField text = (TextField)e.getSource();
 System.out.println(text.getText());
// text.setText(null);
 }
}

TextField屬于一種輸入文本類的組件,對于Frame類其一種可以直接用Frame構(gòu)造方法構(gòu)造,直接產(chǎn)生一個Frame的對象,另一種可以直接繼承Frame這樣就相當(dāng)于已經(jīng)存在了一個Frame類,可以直接使用Frame里面的方法。

注:其上面的setText(null)是相當(dāng)于在輸入結(jié)束按回車鍵的時候,會自動的把輸入框里的數(shù)據(jù)清空。如果沒有,其還會繼續(xù)存在。

instance 4:

import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TFFrame2Monitor {
 public static void main(String[] args) {
 new TFFrame2();
 }
}
class TFFrame2 extends Frame{
 TFFrame2(){
 TextField tf = new TextField();
 add(tf);
 tf.addActionListener(new TFFrameMonitor2());
 tf.setEchoChar('*');
 setBounds(100, 100, 300, 300);
 setVisible(true);
 }
}
class TFFrameMonitor2 implements ActionListener{
 public void actionPerformed(ActionEvent e) {
 TextField text = (TextField)e.getSource();
 System.out.println(text.getText());
 text.setText(null);
 }
}

僅僅是對Text Filed對象添加了一個setEchoChar,表示輸入后的表面顯示。如果沒有,即為輸入什么就顯示什么,如果添加了就和輸密碼一樣被覆蓋了。

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Java中的Unsafe在安全領(lǐng)域的使用總結(jié)和復(fù)現(xiàn)(實(shí)例詳解)

    Java中的Unsafe在安全領(lǐng)域的使用總結(jié)和復(fù)現(xiàn)(實(shí)例詳解)

    unsafe里面有很多好用的方法,比如allocateInstance可以直接創(chuàng)建實(shí)例對象,defineAnonymousClass可以創(chuàng)建一個VM匿名類(VM?Anonymous?Class),以及直接從內(nèi)存級別修改對象的值。這篇文章主要介紹了Java中的Unsafe在安全領(lǐng)域的一些應(yīng)用總結(jié)和復(fù)現(xiàn),需要的朋友可以參考下
    2022-03-03
  • Spring Cloud應(yīng)用實(shí)現(xiàn)配置自動刷新過程詳解

    Spring Cloud應(yīng)用實(shí)現(xiàn)配置自動刷新過程詳解

    這篇文章主要介紹了Spring Cloud應(yīng)用實(shí)現(xiàn)配置自動刷新過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 如何通過Java添加水印到Word文檔

    如何通過Java添加水印到Word文檔

    這篇文章主要介紹了如何通過Java添加水印到Word文檔,水印是一種常用于各種文檔的聲明、防偽手段,一般可設(shè)置文字水印或者加載圖片作為水印。以下內(nèi)容將分享通過Java編程給Word文檔添加水印效果的方法,需要的朋友可以參考下
    2019-07-07
  • SpringBoot項(xiàng)目導(dǎo)出jar包及瘦身部署方式

    SpringBoot項(xiàng)目導(dǎo)出jar包及瘦身部署方式

    今天項(xiàng)目要求Nginx+jar包運(yùn)行多個項(xiàng)目,在此記錄一下部署的過程,其中借鑒了好多網(wǎng)上前輩的經(jīng)驗(yàn),感謝各位的無私分享
    2024-07-07
  • JDK源碼白話解讀之ThreadLocal篇

    JDK源碼白話解讀之ThreadLocal篇

    其實(shí)網(wǎng)上有很多關(guān)于ThreadLocal的文章了,有不少文章也已經(jīng)寫的非常好了。但是很多同學(xué)反應(yīng)還有一些部分沒有講解的十分清楚,還是有一定的疑惑沒有想的十分清楚
    2022-02-02
  • Java微信公眾平臺開發(fā)(3) 接收消息的分類及實(shí)體的創(chuàng)建

    Java微信公眾平臺開發(fā)(3) 接收消息的分類及實(shí)體的創(chuàng)建

    這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺開發(fā)第三步,接收消息的分類及實(shí)體的創(chuàng)建,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • java線程池prestartCoreThread prestartAllCoreThreads的預(yù)熱源碼解讀

    java線程池prestartCoreThread prestartAllCoreThreads的預(yù)熱源碼解讀

    這篇文章主要介紹了java線程池prestartCoreThread prestartAllCoreThreads的預(yù)熱源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Java中驗(yàn)證 Mybatis 數(shù)據(jù)分片可以減輕GC壓力的操作方法

    Java中驗(yàn)證 Mybatis 數(shù)據(jù)分片可以減輕GC壓力的操作方法

    這篇文章主要介紹了Java中驗(yàn)證 Mybatis 數(shù)據(jù)分片可以減輕GC壓力的操作方法,本文使用 Spock(可集成Spring Boot項(xiàng)目) 編寫測試用例,基于 Groovy (JVM語言),感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Scala方法與函數(shù)使用和定義詳解

    Scala方法與函數(shù)使用和定義詳解

    這個章節(jié)會很燒腦,需要認(rèn)真研讀,我會盡量寫的詳細(xì)一些。 方法和函數(shù),看似是兩個概念,其實(shí)他嚴(yán)格來說也是兩個概念,但我們大可以理解成是同一個概念,在使用時只有語法上的細(xì)微差別,是很類似的,都理解為function即可
    2022-12-12
  • Java中使用Jedis操作Redis的示例代碼

    Java中使用Jedis操作Redis的示例代碼

    本篇文章主要介紹了Java中使用Jedis操作Redis的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2016-12-12

最新評論

烟台市| 拜城县| 砀山县| 博湖县| 阜宁县| 郁南县| 红桥区| 溧阳市| 柳河县| 滦平县| 永善县| 武冈市| 耒阳市| 呼伦贝尔市| 喜德县| 宣威市| 海晏县| 靖西县| 西峡县| 扎赉特旗| 唐海县| 余庆县| 勐海县| 南康市| 兴安盟| 宝坻区| 宝鸡市| 耒阳市| 册亨县| 高淳县| 新蔡县| 沐川县| 中西区| 鹤峰县| 吉木乃县| 循化| 阜城县| 山西省| 澳门| 石家庄市| 高州市|