Home > Java Swing > JButton trong Java Swing

JButton trong Java Swing

Đặc điểm cơ bản của JButton :

– Được extends từ lớp JComponent

– Cho phép người dùng click vào để kích hoạt một hành động được chỉ định

Các loại Button trong Java :

Có nhiều loại button khác nhau trong Java, tất cả đều là subclass của lớp AbstractButton :

– Command Buttons : được tạo với lớp JButton. Nó sinh ra ActionEvent

– Toggle Buttons : có giá trị on/off hoặc true/false

– Check Boxes : Một nhóm các Buttons. Nó sinh ra ItemEvent.

– Radio Buttons : Một nhóm các Buttons trong đó chỉ có một item được chọn. Nó sinh ra ItemEvent

Các hàm tạo của JButton :

– JButton() : Tạo một Button không có text hoặc icon

– JButton(Action a) : Tạo một Button có thuộc tính được lấy từ một Action

– JButton(Icon icon) : Tạo một Button chỉ định một icon

– JButton(String text) : Tạo một Button chỉ định text

– JButton(String text, Icon icon) : Tạo một Button chỉ định text và icon

Code minh họa sử dụng JButton :

1. Thêm Action cho Button bằng cách addActionListener

package quyetdv.javaswing.components;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class JButtonDemo extends JFrame {
   private JLabel label;
   public JButtonDemo() {
       setSize(250, 100);
       setVisible(true);
       setLocation(500, 300);
       setResizable(false);
       setTitle("JButton Demo");
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       // Create label
       label = new JLabel("A JLabel");
       add(label);
       // Create button
       JButton button = new JButton("Click me");
       add(button, "North", 1);
       // add ActionListener
       button.addActionListener(new ActionListener() {
           @Override
           public void actionPerformed(ActionEvent arg0) {
              // TODO: Do something here
              changeText();
           }
       });
    }
    public void changeText() {
        label.setText("Label after Click button");
    }
    public static void main(String[] args) {
        JButtonDemo buttonDemo = new JButtonDemo();
     }
}

Kết quả :

– Trước khi click vào Button :

JButtonDemo1

– Sau khi click vào Button :

JButtonDemo2

2. Thêm Action cho Button bằng cách implements ActionListener

package quyetdv.javaswing.components;
import java.awt.Button;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class JButtonDemo extends JFrame implements ActionListener {
    private JLabel label;
    private JButton button1;
    public JButtonDemo() {
       setSize(250, 100);
       setVisible(true);
       setLocation(500, 300);
       setResizable(false);
       setTitle("JButton Demo");
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       // Create label
       label = new JLabel("A JLabel");
       add(label);
       // Create button
       JButton button = new JButton("Click me");
       add(button, "North", 1);
       // add ActionListener
       button.addActionListener(new ActionListener() {
           @Override
           public void actionPerformed(ActionEvent arg0) {
               // TODO: Do something here
               changeText();
           }
      });
      // create another button
      button1 = new JButton("Click me 1");
      add(button1, "South", 1);
      button1.addActionListener(this);
    }
    public void changeText() {
        label.setText("Label after click button");
    }
    public static void main(String[] args) {
        JButtonDemo buttonDemo = new JButtonDemo();
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        JButton b = (JButton) e.getSource();
        if (b == button1) {
        label.setText("Label after click button1");
    }
  }
}

Kết quả:

– Trước khi click vào nút Button 1 :

JButtonDemo3

– Sau khi click vào nút Button 1 :

JButtonDemo4

Advertisements
Categories: Java Swing
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: