เมื่อคุณออกแบบอินเทอร์เฟซแล้ว คุณจะต้องเพิ่มการดำเนินการดำเนินการที่สอดคล้องกันให้กับส่วนประกอบต่างๆ ใน Java มีกลไกการประมวลผลเวลาที่สอดคล้องกัน เรียกว่า "ตัวฟัง" กระบวนการในการเพิ่มการดำเนินการดำเนินการที่สอดคล้องกันให้กับส่วนประกอบต่างๆ เรียกว่า "การลงทะเบียน" โดยที่ "Listener" เป็นอินเทอร์เฟซซึ่งมีฟังก์ชันการดำเนินการที่เกี่ยวข้อง สิ่งที่คุณต้องทำคือนำวิธีการนี้ไปใช้งานด้วยตัวเอง จากนั้นจึง "ลงทะเบียน" เข้ากับส่วนประกอบ ในแง่ของคนธรรมดา แม่ของฉันขอให้ฉันซื้อซีอิ๊ว และเธอไม่สนใจ ฉันจะเดินไปตามถนนสักสองสามวันต่อรองกับเจ้านายแล้วกลับบ้าน ผลลัพธ์สุดท้ายที่แม่ของฉันต้องการคือฉันสามารถส่งซีอิ๊วถึงมือเธอได้ การซื้อซีอิ๊วในช่วงปิดเทอม ฉันเป็นกลไกการประมวลผล ฝ่าย "ผู้ฟัง" ข้างในยอมรับคำสั่งของแม่ เมื่อแม่บอกให้ซื้อซีอิ๊ว มันก็ "ลงทะเบียน" งานให้ฉันอีกครั้ง 555 สะท้อนถึงการแยกการใช้งานและอินเทอร์เฟซใน JAVA
เหตุการณ์คอมโพเนนต์ใน JAVA ได้แก่ ActionEvent, KeyEvent, FocusEvent, ComponentEvent, MouseEvent, AdjustmentEvent ฯลฯ แต่ละคอมโพเนนต์สนับสนุนเหตุการณ์ทั้งหมดหรือบางส่วนซึ่งมี Listener ที่สอดคล้องกันเพื่อตรวจสอบการเกิดขึ้นของเหตุการณ์และใช้วิธีการอินเทอร์เฟซ โปรแกรม สิ่งที่สมาชิกต้องทำคือสร้างออบเจ็กต์คลาสเหตุการณ์ ใช้ฟังก์ชันในนั้น จากนั้นลงทะเบียนกับส่วนประกอบที่เกี่ยวข้อง นี่คือการสาธิตโค้ด:
คัดลอกรหัสรหัส ดังต่อไปนี้:
นำเข้า javax.swing.*;
นำเข้า java.awt.*;
นำเข้า java.awt.event.*;
ButtonDemo ระดับสาธารณะ {
JFrame ส่วนตัว
frame=new JFrame("ButtonDemo");
ส่วนตัว JButton
b1 = ใหม่ JButton("ปุ่ม 1"),
b2 = ใหม่ JButton("ปุ่ม 2");
ส่วนตัวJTextField
txt = JTextField ใหม่ (10);
//นี่คือคลาสที่ไม่ระบุชื่อที่ใช้ในการตรวจสอบปุ่ม
ActionListener ส่วนตัว bl = ActionListener ใหม่ () {
//ใช้ฟังก์ชันนามธรรมในคลาสการฟัง
การกระทำที่เป็นโมฆะสาธารณะดำเนินการ (ActionEvent e) {
ชื่อสตริง = ((JButton)e.getSource()).getText();
txt.setText(ชื่อ);
-
-
ButtonDemo สาธารณะ () {
//ลงทะเบียนวัตถุการฟังไปที่ปุ่มทั้งสอง
b1.addActionListener(bl);
b2.addActionListener(bl);
frame.setLayout(FlowLayout ใหม่());
เฟรม.เพิ่ม(b1);
เฟรม.เพิ่ม(b2);
frame.add(txt);
frame.setVisible(จริง);
frame.setSize(200,150);
-
โมฆะคงที่สาธารณะ main (String [] args) {
ใหม่ ButtonDemo ();
-
-
หากมีมากกว่าหนึ่งฟังก์ชันในอินเทอร์เฟซการฟัง และฉันต้องการใช้ฟังก์ชันใดฟังก์ชันหนึ่งเท่านั้น เห็นได้ชัดว่าโปรแกรมไม่สามารถทำงานได้ เนื่องจากคุณต้องใช้ฟังก์ชันทั้งหมดในอินเทอร์เฟซก่อนจึงจะสามารถคอมไพล์และโปรแกรมได้ วิ่งได้ ลุกขึ้นมาเราควรทำอย่างไร? ฮ่าฮ่า เห็นได้ชัดว่าผู้ออกแบบภาษา JAVA ได้คำนึงถึงเรื่องนี้ด้วย ดังนั้นพวกเขาจึงจัดเตรียมบุคคลที่ชื่อว่า "Adapter" ซึ่งใช้ฟังก์ชันทั้งหมดในอินเทอร์เฟซตามค่าเริ่มต้น สืบทอดคลาส "Adapter" และแทนที่ฟังก์ชันที่คุณสนใจ แค่นั้นแหละ:
คัดลอกรหัสรหัส ดังต่อไปนี้:
คลาส MyMouseListener ขยาย MouseAdapter {
โมฆะสาธารณะ mouseClicked (MouseEvent e) {
//ตระหนักถึงการกระทำเมื่อคลิกเมาส์
-
-