11/08/2018, 19:46

Các lớp Adapter trong Java AWT

Previous Các lớp Adapter trong Java AWT cung cấp bản cài đặt mặc định cho các interface Listener. Nếu bạn kế thừa lớp Adapter, bạn sẽ không bị buộc phải cung cấp cài đặt cho các phương thức của các interface Listener. Vì vậy, nó giúp tiết kiệm code. Các lớp Adapter được tìm ...

Previous

Các lớp Adapter trong Java AWT cung cấp bản cài đặt mặc định cho các interface Listener. Nếu bạn kế thừa lớp Adapter, bạn sẽ không bị buộc phải cung cấp cài đặt cho các phương thức của các interface Listener. Vì vậy, nó giúp tiết kiệm code.

Các lớp Adapter được tìm thấy trong các gói java.awt.event, java.awt.dnd và javax.swing.event. Các lớp Adapter với các interface Listener tương ứng của chúng được đưa ra dưới đây.

Các lớp java.awt.event Adapter

Lớp AdapterListener interface
WindowAdapterWindowListener
KeyAdapterKeyListener
MouseAdapterMouseListener
MouseMotionAdapterMouseMotionListener
FocusAdapterFocusListener
ComponentAdapterComponentListener
ContainerAdapterContainerListener
HierarchyBoundsAdapterHierarchyBoundsListener

Các lớp java.awt.dnd Adapter

Lớp AdapterListener interface
DragSourceAdapterDragSourceListener
DragTargetAdapterDragTargetListener

Các lớp javax.swing.event Adapter

Lớp AdapterListener interface
MouseInputAdapterMouseInputListener
InternalFrameAdapterInternalFrameListener

Ví dụ WindowAdapter trong Java AWT

package vn.viettuts.awt;

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class AdapterExample1 {
    Frame frame;

    AdapterExample1() {
        frame = new Frame("Ví dụ WindowAdapter trong Java AWT");
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                frame.dispose();
            }
        });

        frame.setSize(400, 250);
        frame.setLayout(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new AdapterExample1();
    }
}

Kết quả:

Ví dụ WindowAdapter trong Java AWT

Ví dụ MouseAdapter trong Java AWT

package vn.viettuts.awt;

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class MouseAdapterExample extends MouseAdapter {
    private Frame frame;

    public MouseAdapterExample() {
        frame = new Frame("Ví dụ MouseAdapter trong Java AWT");
        frame.addMouseListener(this);

        frame.setSize(400, 300);
        frame.setLayout(null);
        frame.setVisible(true);
        // close window
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(1);
            }
        });
    }

    public void mouseClicked(MouseEvent e) {
        Graphics g = frame.getGraphics();
        g.setColor(Color.BLUE);
        g.fillOval(e.getX(), e.getY(), 20, 20);
    }

    /**
     * main
     * 
     * @param args
     */
    public static void main(String[] args) {
        new MouseAdapterExample();
    }
}

Kết quả:

Ví dụ MouseAdapter trong Java AWT

Ví dụ MouseMotionAdapter trong Java AWT

package vn.viettuts.awt;

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class MouseMotionAdapterExample extends MouseMotionAdapter {
    private Frame frame;

    public MouseMotionAdapterExample() {
        frame = new Frame("Ví dụ MouseMotionAdapter trong Java AWT");
        frame.addMouseMotionListener(this);

        frame.setSize(400, 400);
        frame.setLayout(null);
        frame.setVisible(true);

        // close window
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(1);
            }
        });
    }

    public void mouseDragged(MouseEvent e) {
        Graphics g = frame.getGraphics();
        g.setColor(Color.RED);
        g.fillOval(e.getX(), e.getY(), 10, 10);
    }

    public static void main(String[] args) {
        new MouseMotionAdapterExample();
    }
}

Kết quả:

Ví dụ MouseMotionAdapter trong Java AWT

Ví dụ KeyAdapter trong Java AWT

package vn.viettuts.awt;

import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class KeyAdapterExample extends KeyAdapter {
    Label label;
    TextArea textArea;
    Frame frame;

    KeyAdapterExample() {
        frame = new Frame("Ví dụ KeyAdapter trong Java AWT");
        label = new Label();
        label.setBounds(20, 50, 200, 20);
        textArea = new TextArea();
        textArea.setBounds(20, 80, 300, 300);
        textArea.addKeyListener(this);

        frame.add(label);
        frame.add(textArea);
        frame.setSize(400, 400);
        frame.setLayout(null);
        frame.setVisible(true);

        // close window
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(1);
            }
        });
    }

    public void keyReleased(KeyEvent e) {
        String text = textArea.getText();
        String words[] = text.split("s");
        label.setText("Words: " + words.length + " Characters:" + text.length());
    }

    public static void main(String[] args) {
        new KeyAdapterExample();
    }
}

Kết quả:

Ví dụ KeyAdaptertrong Java AWT
Previous
0