Xử lý sự kiện trong Java Swing

Sự kiện ( Event ) là gì ?

Sự kiện trong chương trình, là một sự thay đổi trạng thái của đối tượng do người dùng tương tác trên giao diện chương trình tạo ra. Ví dụ như việc nhập ký tự thông qua bàn phím, nhấn vào một button…

Tiếp theo, chúng ta sẽ đi tìm hiểu các bước căn bản viết một chương trình Java Swing có xử lý sự kiện qua Ví dụ.

Các bước căn bản – Ví dụ

Ví dụ : Viết chương trình Java Swing như hình dưới. Giá trị trong Label sẽ tăng khi Button Up được nhấn, ngược lại Button Down được nhấn sẽ giảm.

Code Chương trình :

 package kynangcntt.info;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class kynangcnttInfo extends JFrame implements ActionListener {

   JButton btnUp = new JButton("Up");
   JButton btnDown = new JButton("Down");
   JLabel label = new JLabel("0");  

 public kynangcnttInfo(String title) {

   super(title);

   JPanel labelPanel = new JPanel();
   labelPanel.add(label);

   JPanel buttonPanel = new JPanel(new GridLayout(1, 2, 10, 10));

   buttonPanel.add(btnDown);
   btnUp.addActionListener(this);
   buttonPanel.add(btnUp);
   btnDown.addActionListener(this);

   JPanel mainPanel = new JPanel(new BorderLayout());
   mainPanel.add(labelPanel, BorderLayout.NORTH);
   mainPanel.add(buttonPanel, BorderLayout.SOUTH);

   add(mainPanel);

 }

 @Override
 public void actionPerformed(ActionEvent e) {
   if(e.getSource()==btnUp){
     label.setText(String.valueOf(Integer.parseInt(label.getText())+1));
   }
   if(e.getSource()==btnDown){
     label.setText(String.valueOf(Integer.parseInt(label.getText())-1));
   }
 }

 public static void main(String[] args) {

   kynangcnttInfo obj = new kynangcnttInfo("kynangcntt.info");
   obj.setSize(240, 90);
   obj.setDefaultCloseOperation(EXIT_ON_CLOSE);
   obj.setVisible(true);
   obj.setLocationRelativeTo(null);

 }
}

Từ chương trình trên ta rút ra được các bước căn bản để thiết kế chương trình Java Swing đơn giản có xữ lý sự kiện :

  1. Thiết kế giao diện chương trình.
  2. Kế thừa Interface xử lý sự kiện – Gán sự kiện cho các thành phần giao diện cần xử lý sự kiện.
  3. Xử lý sự kiện.

Bài viết này, tập trung giới thiệu khái quát nhất có thể về cách xử lý sự kiện đơn giản trên Java Swing. Để có thể chi tiết hơn, hãy tìm đọc loạt bài : Tổng hợp ví dụ Java Swing trên kynangcntt.info