Java GUI之事件監聽與處理
事件監聽和處理的根本技術,是回撥。甲方提供介面,乙方實現介面並呼叫相應方法。
package com.sinosuperman.driver;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class MainBench {
public static void main(String[] args) {
JFrame frame = new MyFrame();
}
}
class MyFrame extends JFrame {
private static final long serialVersionUID = 1L;
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize();
JPanel panel;
public MyFrame() {
panel = new MyPanel();
this.add(panel);
this.setSize((int) d.getWidth() / 2, (int) d.getHeight() / 2);
this.setLocation((int) (d.getWidth() - this.getWidth()) / 2, (int) (d.getHeight() - this.getHeight()) / 2);
this.setResizable(false);
this.setVisible(true);
}
}
class MyPanel extends JPanel implements ActionListener {
private static final long serialVersionUID = 5263963243638550398L;
JButton okBtn;
JButton exitBtn;
public MyPanel() {
this.setLayout(new FlowLayout(FlowLayout.CENTER));
okBtn = new JButton("OK");
exitBtn = new JButton("Exit");
okBtn.addActionListener(this);
exitBtn.addActionListener(this);
this.add(okBtn);
this.add(exitBtn);
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == okBtn) {
JOptionPane.showMessageDialog(null, "You click the OK Button.");
} else {
JOptionPane.showMessageDialog(null, "You click the Exit Button.");
System.exit(0);
}
}
}
相關文章
- Java GUI之事件監聽與處理的匿名類實現方法JavaGUI事件
- Java-GUI程式設計之事件處理JavaGUI程式設計事件
- java springboot監聽事件和處理事件JavaSpring Boot事件
- Android的事件處理——監聽介面方式Android事件
- Netty事件監聽和處理(上)【有福利】Netty事件
- Netty事件監聽和處理(下)【有福利】Netty事件
- vue之監聽事件Vue事件
- java 自定義監聽事件Java事件
- Netty中自定義事件處理程式和監聽器Netty事件
- java 監聽 redis 過期事件JavaRedis事件
- Oracle 監聽異常處理Oracle
- Java-GUI程式設計之處理點陣圖JavaGUI程式設計
- 事件監聽事件
- Spring事件釋出與監聽Spring事件
- Flutter事件監聽Flutter事件
- jQuery事件監聽jQuery事件
- 監聽滑鼠事件事件
- JavaScript 事件監聽JavaScript事件
- js 監聽事件JS事件
- 事件和事件監聽器事件
- java鍵盤監聽之視窗監聽的實現Java
- 事件分發之View事件處理事件View
- Java中的鍵盤監聽事件KeyListenerJava事件
- java中的事件處理Java事件
- 監聽鍵盤事件事件
- 初識事件監聽事件
- JS事件監聽器JS事件
- Spring事件釋出與監聽機制Spring事件
- SpringBoot系列——事件釋出與監聽Spring Boot事件
- Nacos - 事件的註冊、取消與監聽(EventDispatcher)事件
- javascript的事件監聽與捕獲和冒泡JavaScript事件
- 11201監聽BUG處理
- Java GUI之位置控制與尺寸控制JavaGUI
- Java——事件處理機制概要Java事件
- Java:實驗四 Java圖形介面與事件處理(頭歌)Java事件
- deleted事件監聽報錯delete事件
- 如何移除事件監聽器事件
- Laravel 中的事件監聽Laravel事件