JavaGUI事件監(jiān)聽機制超詳細講解
1.一個事件模型中有上對象:事件源,事件以及監(jiān)聽程序
2.事件監(jiān)聽機制:
- 事件源 事件發(fā)生的地方
- 事件 要發(fā)生的事情
- 事件處理 針對發(fā)生的事情做出的處理方案
- 事件監(jiān)聽 把事件源和事件關聯(lián)起來

使用步驟:
- 新建一個組件(如 JButton)
- 將該組件添加到相應的面板(如 JFrame)
- 注冊監(jiān)聽器以監(jiān)聽事件源產(chǎn)生的事件(如通過ActionListener來響應用戶點擊按鈕)
- 定義處理事件的方法(如在ActionListener中的actionPerformed中定義相應方法)
示例1:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
public class AddActionListener {
public static void main(String[] args) {
JFrame jf = new JFrame("AddActionListener");
jf.setLayout(new FlowLayout(FlowLayout.LEFT));
jf.setBounds(400, 300, 400, 300);
JTextArea area=new JTextArea(20,10);
area.setLineWrap(true);
JButton jb=new JButton("禿頭");
jb.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
area.setText("不要熬夜!");
}
});
jf.add(area);
jf.add(jb);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
示例2:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
public class AddActionListener {
public static void main(String[] args) {
JFrame jf = new JFrame("AddActionListener");
jf.setLayout(new FlowLayout(FlowLayout.LEFT));
jf.setBounds(400, 300, 400, 300);
JTextArea area=new JTextArea(20,10);
area.setLineWrap(true);
JButton jb=new JButton("禿頭");
jb.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
area.append("不要熬夜!");
}
});
jf.add(area);
jf.add(jb);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
tips:ActionEvent是一個類,e是那個類的一個實例。你可以換e無論你喜歡什么,例如。event或object都可以
到此這篇關于JavaGUI事件監(jiān)聽機制超詳細講解的文章就介紹到這了,更多相關JavaGUI事件監(jiān)聽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java序列化和反序列化_動力節(jié)點Java學院整理
把對象轉換為字節(jié)序列的過程稱為對象的序列化,把字節(jié)序列恢復為對象的過程稱為對象的反序列化。接下來通過本文給大家介紹Java序列化和反序列化及主要的兩種用途,感興趣的的友參考下吧2017-05-05
通過使用Byte?Buddy便捷創(chuàng)建Java?Agent
這篇文章主要為大家介紹了如何通過使用Byte?Buddy便捷創(chuàng)建Java?Agent的使用說明,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進步2022-03-03
Nacos服務發(fā)現(xiàn)并發(fā)啟動scheduleUpdate定時任務的流程分析
這篇文章主要介紹了Nacos服務發(fā)現(xiàn)并發(fā)啟動scheduleUpdate定時任務,本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02
利用Java設置Word文本框中的文字旋轉方向的實現(xiàn)方法
Word文檔中可添加文本框,并設置文本框為橫向文本排列或是縱向文本排列,或者設置文本框中的文字旋轉方向等.通過Java程序代碼,也可以實現(xiàn)以上文本框的操作.下面以Java代碼示例展示具體的實現(xiàn)步驟.另外,可參考C#及VB.NET代碼的實現(xiàn)方法,需要的朋友可以參考下2021-06-06
spring boot udp或者tcp接收數(shù)據(jù)的實例詳解
這篇文章主要介紹了spring boot udp或者tcp接收數(shù)據(jù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12

