Java添加事件監(jiān)聽的四種方法代碼實例
更新時間:2014年09月22日 09:42:44 投稿:junjie
這篇文章主要介紹了Java添加事件監(jiān)聽的四種方法代碼實例,本文直接給出代碼示例,并用注釋說明,需要的朋友可以參考下
Java添加事件的幾種方式(轉(zhuǎn)載了codebrother的文章,做了稍微的改動):
/**
* Java事件監(jiān)聽處理——自身類實現(xiàn)ActionListener接口,作為事件監(jiān)聽器
*
* @author codebrother
*/
class EventListener1 extends JFrame implements ActionListener {
private JButton btBlue, btDialog;
public EventListener1() {
setTitle("Java GUI 事件監(jiān)聽處理");
setBounds(100, 100, 500, 350);
setLayout(new FlowLayout());
btBlue = new JButton("藍(lán)色");
btDialog = new JButton("彈窗");
// 將按鈕添加事件監(jiān)聽器
btBlue.addActionListener(this);
btDialog.addActionListener(this);
add(btBlue);
add(btDialog);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
// ***************************事件處理***************************
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btBlue) {
Container c = getContentPane();
c.setBackground(Color.BLUE);
}
else if (e.getSource() == btDialog) {
JDialog dialog = new JDialog();
dialog.setBounds(300, 200, 400, 300);
dialog.setVisible(true);
}
}
}
/**
* Java事件監(jiān)聽處理——內(nèi)部類處理
*
* @author codebrother
*/
class EventListener3 extends JFrame {
private JButton btBlue, btDialog;
// 構(gòu)造方法
public EventListener3() {
setTitle("Java GUI 事件監(jiān)聽處理");
setBounds(100, 100, 500, 350);
setLayout(new FlowLayout());
btBlue = new JButton("藍(lán)色");
btDialog = new JButton("彈窗");
// 添加事件監(jiān)聽器對象(面向?qū)ο笏枷?
btBlue.addActionListener(new ColorEventListener());
btDialog.addActionListener(new DialogEventListener());
add(btBlue);
add(btDialog);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
// 內(nèi)部類ColorEventListener,實現(xiàn)ActionListener接口
class ColorEventListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Container c = getContentPane();
c.setBackground(Color.BLUE);
}
}
// 內(nèi)部類DialogEventListener,實現(xiàn)ActionListener接口
class DialogEventListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
JDialog dialog = new JDialog();
dialog.setBounds(300, 200, 400, 300);
dialog.setVisible(true);
}
}
}
/**
* Java事件監(jiān)聽處理——匿名內(nèi)部類處理
*
* @author codebrother
*/
class EventListener2 extends JFrame {
private JButton btBlue, btDialog;
public EventListener2() {
setTitle("Java GUI 事件監(jiān)聽處理");
setBounds(100, 100, 500, 350);
setLayout(new FlowLayout());
btBlue = new JButton("藍(lán)色");
btDialog = new JButton("彈窗");
// 添加事件監(jiān)聽器(此處即為匿名類)
btBlue.addActionListener(new ActionListener() {
// 事件處理
@Override
public void actionPerformed(ActionEvent e) {
Container c = getContentPane();
c.setBackground(Color.BLUE);
}
});
// 并添加事件監(jiān)聽器
btDialog.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JDialog dialog = new JDialog();
dialog.setBounds(300, 200, 400, 300);
dialog.setVisible(true);
}
});
add(btBlue);
add(btDialog);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
/**
* Java事件監(jiān)聽處理——外部類處理
*
* @author codebrother
*/
class EventListener4 extends JFrame {
private JButton btBlue, btDialog;
public EventListener4() {
setTitle("Java GUI 事件監(jiān)聽處理");
setBounds(100, 100, 500, 350);
setLayout(new FlowLayout());
btBlue = new JButton("藍(lán)色");
btDialog = new JButton("彈窗");
// 將按鈕添加事件監(jiān)聽器
btBlue.addActionListener(new ColorEventListener(this));
btDialog.addActionListener(new DialogEventListener());
add(btBlue);
add(btDialog);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
// 外部類ColorEventListener,實現(xiàn)ActionListener接口
class ColorEventListener implements ActionListener {
private EventListener4 el;
ColorEventListener(EventListener4 el) {
this.el = el;
}
@Override
public void actionPerformed(ActionEvent e) {
Container c = el.getContentPane();
c.setBackground(Color.BLUE);
}
}
// 外部類DialogEventListener,實現(xiàn)ActionListener接口
class DialogEventListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
JDialog dialog = new JDialog();
dialog.setBounds(300, 200, 400, 300);
dialog.setVisible(true);
}
}
public class ActionListenerTest
{
public static void main(String args[])
{
new EventListener2();
}
}
您可能感興趣的文章:
- java開發(fā)gui教程之jframe監(jiān)聽窗體大小變化事件和jframe創(chuàng)建窗體
- JAVA用戶自定義事件監(jiān)聽實例代碼
- JavaFX 監(jiān)聽窗口關(guān)閉事件實例詳解
- Java Swing中JList選擇事件監(jiān)聽器ListSelectionListener用法示例
- java實現(xiàn)table添加右鍵點擊事件監(jiān)聽操作示例
- Java事件監(jiān)聽機制講解
- java-RGB調(diào)色面板的實現(xiàn)(事件監(jiān)聽器之匿名內(nèi)部類)
- java中接口和事件監(jiān)聽器的深入理解
- Java基礎(chǔ)學(xué)習(xí)之Swing事件監(jiān)聽
- Java?Spring?事件監(jiān)聽詳情解析
相關(guān)文章
springmvc接收json串,轉(zhuǎn)換為實體類List方法
今天小編就為大家分享一篇springmvc接收json串,轉(zhuǎn)換為實體類List方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
如何利用java中String類的substring()字符串截取最后一個字符
Java中的String是不可變的類型,因此substring()方法并不會改變原字符串,而是返回了一個新的字符串,這篇文章主要介紹了如何利用java中String類的substring()字符串截取最后一個字符,需要的朋友可以參考下2023-11-11

