中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javaGUI編程中如何進行監聽操作

發布時間:2021-10-15 17:02:16 來源:億速云 閱讀:134 作者:柒染 欄目:編程語言

javaGUI編程中如何進行監聽操作,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

當點擊Frame中的component組件時,會產生相應的效果,但是相應的其必須進行監聽,確定是那個對象,那種操作,但是如果用cup進行主動的監聽就會消耗大量的資源,所以有了被動的監聽,即對應的事件發生后會自動的執行相關的代碼。

Button監聽:

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"); }}

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

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()); }}

注:當一個監聽器監聽多個button對象時,我們可以用setActionCommand進行區別,這個相當于是一個屬性亦或是一種標記。

TextField(文本輸入監聽)

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構造方法構造,直接產生一個Frame的對象,另一種可以直接繼承Frame這樣就相當于已經存在了一個Frame類,可以直接使用Frame里面的方法。

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

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,表示輸入后的表面顯示。如果沒有,即為輸入什么就顯示什么,如果添加了就和輸密碼一樣被覆蓋了。

關于javaGUI編程中如何進行監聽操作問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五原县| 射阳县| 新河县| 旬阳县| 平邑县| 海盐县| 博爱县| 黔西| 琼海市| 香港| 卫辉市| 洛浦县| 奈曼旗| 聊城市| 弋阳县| 晴隆县| 盐池县| 阿坝| 西乌| 房产| 依安县| 三门县| 长乐市| 胶南市| 昆明市| 安阳市| 荔浦县| 东兰县| 鄂州市| 扎兰屯市| 博湖县| 出国| 广东省| 克东县| 太仆寺旗| 固阳县| 南澳县| 建宁县| 承德市| 博爱县| 弥渡县|