91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

java中怎么實現接口和事件監聽器

發布時間:2021-06-15 15:21:20 來源:億速云 閱讀:274 作者:Leah 欄目:編程語言

java中怎么實現接口和事件監聽器,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

一:接口

接口在我們生活中無處不在,通過一個usb接口,我們可以通過u盤傳輸數據,這個接口是被定義過的,只有指定的類型能夠使用這個接口,且通過這個接口我們傳輸的數據不會被破壞。

而在java中接口作用類似,定義一個具有特定特點的接口,在合適的地方引用它,執行所對應的功能,這樣能夠實現代碼的分離。

下面我們來看一下接口的定義:

   關鍵字:interface
   格式:public interface 接口名{ }

接口的屬性:

   [public static final]屬性類型 屬性名=屬性值;
   static:靜態的,修飾的內容可以通過類名或接口名直接訪問。
   final:不可改變的,修飾屬性,則屬性必須初始化。
   [ ]里的內容可以省略

接口的方法:

   [public abstract]方法返回值類型 方法名(參數類型 參數名)
   abstract:抽象的,修飾方法,則方法不能有方法體。
   [ ]中內容可以省略

接口的使用:

接口不能創建對象,需要接口類型的對象則需要創建一個類,從而實現接口

   關鍵字:implements
   格式:public class 類名 implements 接口名{ }
   **注意:在類中實現接口時,必須實現接口中所有的方法**

總結來說,接口相當于制定了一種規則,只有符合這種規則了才能進入相應的接口。

二:事件監聽機制

想象一下,比如在生活中,有一個攝像頭在監視著小明,監督他好好學習,如若發現他在做別的事情則會發出警告提示讓他繼續學習,而在java中原理也是一樣。

給事件源組件添加事件監聽器,當事件源組件上發生相應類型的事件時,則自動的調用監聽器中的內容。

在電腦上常見的事件類型有三種

    鼠標事件:用鼠標操作組件(鼠標的移動,點擊,松開)
    鍵盤事件:用鍵盤操作組件(按動鍵盤的按鍵)
    動作事件:包含鼠標點擊按鈕,鍵盤確認等。

事件源組件:事件發生所在的組件,比如在一個創建好的畫圖板上。

事件監聽器:java中為每一種類型的事件都提供了一個對應類型的事件監聽器。

   鼠標事件監聽器:MouseListener
   鍵盤事件監聽器:KeyListener
   動作事件監聽器:ActionListener

事件監聽器的實現:

  第一步:確定事件源組件
     例如一個按鈕
  第二步:確定事件類型
     點擊按鈕則為動作事件
  第三步:
     創建一個監聽器類,實現對應類型的監聽器接口
  第四步,在源程序創建監聽器對象,給事件源組件添加事件監聽器。

下面我們看一個登陸界面的實例

這一段是建立一個登陸界面

public class UI {
 /**
 * 
 */
 public void showIU(){
 //建立新界面
 JFrame frame=new JFrame();
 frame.setSize(600, 900);
 //用戶點擊關閉窗口時關閉界面
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 //流式布局
 FlowLayout layout=new FlowLayout();
 frame.setLayout(layout);
 //插入賬號文本框
 JTextField register=new JTextField(30);
 frame.add(register);
 //標簽1
 JLabel label1=new JLabel("注冊賬號");
 frame.add(label1);
 //密碼
 JPasswordField word=new JPasswordField(30);
 frame.add(word);
 //標簽2
 JLabel label2= new JLabel("找回密碼");
 frame.add(label2);
 
 JCheckBox checkbox=new JCheckBox("記住密碼 ");
 frame.add(checkbox);
 //設置復選框大小
 Dimension check =new Dimension(200,35);
 checkbox.setPreferredSize(check);
 
 
 //加入接口類
 lisener lisen=new lisener();
 //給按鈕添加監聽器
 butt.addActionListener(lisen);
 //讓監聽器的文本框和處理的文本框對應
 lisen.nameinput=register;
 lisen.passinput=word;
 //讓監聽器的框與此相同
 lisen.jiemian=frame;
 
 word.addActionListener(lisen);
 
 /*
 //加入接口
 Listener2 lisen1=new Listener2();
 //添加監聽器
 word.addKeyListener(lisen1);
 //對應文本框和密碼框
 lisen1.name1=register;
 lisen1.pass1=word;
 lisen1.frame=frame;
 */
 //設置界面可見
 frame.setVisible(true);
 
 }
 public static void main(String[] args){
 UI ui=new UI();
 ui.showIU();
 }
}

java中怎么實現接口和事件監聽器這是我們建立好的登陸界面

我們從中建立了兩個接口,兩個動作監聽器分別監聽按鈕是否點擊和是否按鍵盤上的按鍵,從此出現相應結果。

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import javax.swing.JDialog;
import javax.swing.JTextField;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
public class lisener implements ActionListener{
 JTextField nameinput;
 JTextField passinput;
 JFrame jiemian;
 public void actionPerformed(ActionEvent e){
 System.out.println("鼠標點擊了");
 String name=nameinput.getText();
 String password=passinput.getText();
 if(name.equals("majunlong")&&password.equals("12345678")){
  System.out.println("登陸成功");
  jiemian.dispose();
 }
  
  
 else{
  System.out.println("登陸失敗");
  JOptionPane pane=new JOptionPane();
  JOptionPane.showMessageDialog(null, "登陸失敗", "警告", JOptionPane.ERROR_MESSAGE);
  
 }
  
 
 }

}

這是一個鼠標監聽器,當按鈕被點擊時發出提示框登陸成功或失敗。

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JTextField;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Listener2 implements KeyListener{
 JTextField name1;
 JFrame frame;
 JTextField pass1;

 public void keyTyped(KeyEvent e) {
 // TODO Auto-generated method stub
 
 
 }

 public void keyPressed(KeyEvent e) {
 // TODO Auto-generated method stub
 
 }

 public void keyReleased(KeyEvent e) {
 // TODO Auto-generated method stub
 System.out.println("鼠標點擊了");
 String name=name1.getText();
 String password=pass1.getText();
 if(name.equals("majunlong")&&password.equals("12345678")){
  System.out.println("登陸成功");
  frame.dispose();
 }
  
  
 else{
  System.out.println("登陸失敗");
  JOptionPane pane=new JOptionPane();
  
  JOptionPane.showMessageDialog(null, "登陸失敗", "警告", JOptionPane.ERROR_MESSAGE);
  
 }
  
 
 }
 }

鍵盤監聽器,在輸入密碼之后按下回車,獲得相應提示。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

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

AI

云阳县| 青河县| 武宁县| 漳浦县| 宽城| 阿瓦提县| 荔波县| 乐昌市| 柳江县| 江川县| 张家界市| 宜昌市| 吉安县| 顺昌县| 沙田区| 长葛市| 涞源县| 成都市| 漾濞| 翼城县| 长垣县| 灵丘县| 韩城市| 平阴县| 洞口县| 汝州市| 四会市| 务川| 定结县| 阿合奇县| 枞阳县| 清苑县| 青神县| 奉新县| 沭阳县| 五常市| 南江县| 邳州市| 余江县| 双江| 信丰县|