成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實現Swing ActionListener接口

開發 后端
本文介紹實現Swing ActionListener接口,以及介紹在addActionListener的參數中新定義到一個ActionListenner并重寫它的actionPerformed。

關于ActionListener的響應問題,就我的理解可以有兩種方法。第一種就是你放到一個新的類里面,實現Swing ActionListener接口,然后寫好public void actionPerformed(ActionEvent e)的方法。這種當繼承自JFrame還是蠻有用的,但是如果是一個在public static void main(String[] args)中建立一個JFrame,然后對里面的(比如按鈕)實現監聽,那么去實現Swing ActionListener接口就不那么合適了(哎,很多都是當你做過后才知道什么是合適的),不過Java提供了另一種解決方案:

  1. import java.awt.*;  
  2. import javax.swing.*;  
  3. import java.awt.event.*;  
  4.  
  5. public class ActionListenerTest ...{  
  6. public static void main(String[] args) ...{  
  7.    JFrame frame = new JFrame("Button Test");  
  8.    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  9.     
  10.    final JButton jbClose = new JButton("Close the Frame");  
  11.    jbClose.addActionListener(new ActionListener () ...{  
  12.     public void actionPerformed(ActionEvent e) ...{  
  13.      if (e.getSource().equals(jbClose)) ...{  
  14.       System.exit(0);  
  15.      }  
  16.     }  
  17.    }  
  18.    );  
  19.     
  20.    frame.add(jbClose);  
  21.    frame.pack();  
  22.    frame.setVisible(true);  
  23.   }  

也就是在addActionListener的參數中新定義到一個ActionListenner并重寫它的actionPerformed。不過要注意的是,這個actionPerformed一定要是public的,不然權限不夠。還有就是里面用到的組件在外部必須聲明為final的,這點也許會造成些許使用的限制。

另一種其實是很常用的那種,前面也用到過,不過這里再寫一遍好了,翻來翻去很麻煩的。

  1. import java.awt.*;  
  2. import javax.swing.*;  
  3. import java.awt.event.*;  
  4. public class ButtonFrame extends JFrame implements ActionListener ...{  
  5. JButton jbClose = null;  
  6. public ButtonFrame() ...{  
  7.    super("ButtonFrame Test");  
  8.    jbClose = new JButton ("Close the Frame in ButtonFrame");  
  9.    jbClose.addActionListener(this);  
  10.    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  11.     
  12.    this.add(jbClose);  
  13.    this.pack();  
  14.    this.setVisible(true);  
  15.   }  
  16.    
  17.   public void actionPerformed(ActionEvent e) ...{  
  18.    if (e.getSource().equals(jbClose)) ...{  
  19.     System.exit(0);  
  20.    }  
  21.   }  
  22.   public static void main(String[] args) ...{  
  23.    ButtonFrame bf = new ButtonFrame();  
  24.   }  

兩個程序的效果是一樣的,都是點擊了按鈕后就結束程序。 以上是介紹實現Swing ActionListener接口

【編輯推薦】

  1. Swing容器組件的顯示效果
  2. 淺談.Net與Java Swing相比
  3. 詳解Swing組件相應外觀
  4. Java Swing事件處理方法
  5. 淺談Swing支持透明和不規則窗口
責任編輯:佚名 來源: 中國IT實驗室
相關推薦

2009-07-17 17:16:44

Swing實現的目標

2009-07-16 10:26:49

渲染器接口Swing

2009-07-15 10:06:54

Swing實現MDI

2009-07-15 14:10:26

Swing控件

2009-07-15 15:35:59

Swing程序Swing性能

2009-07-16 08:53:03

Swing任務Swing線程

2009-07-16 16:01:55

EventQueue

2009-07-15 09:06:07

BeanTableMoSwing

2009-07-14 18:28:58

Swing入門

2009-07-10 13:36:32

Swing容器

2009-07-15 13:06:38

Swing組件

2009-07-15 14:29:24

構造JListSwing

2009-07-10 10:37:50

Swing Set示例

2009-07-15 11:19:17

invokeLaterSwing

2009-08-25 17:55:52

C#實現Strateg

2010-02-06 18:04:21

Android 接口

2010-03-04 09:20:48

Android接口

2009-08-31 15:55:17

C#實現Strateg

2021-05-14 07:45:07

Sentinel 接口限流

2010-03-22 13:15:07

Python支付接口
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 人人玩人人添人人澡欧美 | 精品国产一区二区国模嫣然 | 免费一区二区三区在线视频 | 久久久久久久一级 | 日日夜夜精品视频 | 精品欧美一区免费观看α√ | 天堂一区二区三区四区 | 欧美6一10sex性hd | 一区二区三区免费 | 天堂久久天堂综合色 | 日韩一区二区三区在线 | 国产在线一区二区三区 | 欧美a区 | 日韩精品在线一区 | 国产91在线视频 | 国产日韩一区二区三免费高清 | 精品久久久久一区二区国产 | 久久99久久98精品免观看软件 | 噜啊噜在线 | 91麻豆产精品久久久久久夏晴子 | 污书屋| 欧美极品在线视频 | 97国产精品视频人人做人人爱 | 国产片淫级awww | 日韩精品一区二区三区中文字幕 | 久久久久久久久久久久久久久久久久久久 | 国产露脸对白88av | 草比网站 | 亚洲精品日韩欧美 | 国产一区二区不卡 | 欧美vide | 日韩爱爱网| 成人久久18免费网站图片 | 欧美中文视频 | 精品视频一区二区三区在线观看 | 日韩国产欧美在线观看 | 精品日韩一区 | 亚洲精品欧美精品 | 日韩精品一区二区三区视频播放 | 福利在线观看 | 国产精品揄拍一区二区久久国内亚洲精 |