Lớp JOptionPane trong Java Swing

Lớp JOptionPane trong Java Swing là một thành phần cung cấp các phương thức chuẩn để gọi một hộp thoại dialog chuẩn cho một giá trị hoặc thông báo người dùng về một cái gì đó. Dưới đây là cú pháp khai báo của lớp javax.swing.JOptionPane:


public class JOptionPane
   extends JComponent
      implements Accessible

Lớp này kế thừa các phương thức từ các lớp sau:

  • javax.swing.JComponent
  • java.awt.Container
  • java.awt.Component
  • java.lang.Object

Các constructor của lớp JOptionPane trong Java Swing

1. JOptionPane(): Tạo một JOptionPane với một thông điệp kiểm tra (test message).

2. JOptionPane(Object message): Tạo một instance của JOptionPane để hiển thị một message bởi sử dụng kiểu thông điệp thuần message và các tùy chọn option mặc định được phân phối bởi UI.

3. JOptionPane(Object message, int messageType): Tạo một instance của JOptionPane để hiển thị một thông điệp với kiểu thông điệp đã cho và các tùy chọn mặc định.

4. JOptionPane(Object message, int messageType, int optionType): Tạo một instance của JOptionPane để hiển thị một thông điệp với kiểu thông điệp đã cho và các tùy chọn mặc định.

5. JOptionPane(Object message, int messageType, int optionType, Icon icon): Tạo một instance của JOptionPane để hiển thị một thông điệp với kiểu thông điệp, tùy chọn và icon đã cho.

6. JOptionPane(Object message, int messageType, int optionType, Icon icon, Object[] options): Tạo một instance của JOptionPane để hiển thị một thông điệp với kiểu thông điệp, tùy chọn và icon đã cho.

7. JOptionPane(Object message, int messageType, int optionType, Icon icon, Object[] options, Object initialValue): Tạo một instance của JOptionPane để hiển thị một thông điệp với kiểu thông điệp, tùy chọn và icon đã cho với giá trị tùy chọn được lựa chọn ban đầu đã được xác định.


Các phương thức được sử dụng phổ biến của lớp JOptionPane

STTPhương thức & Mô tả
1void selectInitialValue()Yêu cầu giá trị khởi tạo ban đầu để được lựa chọn, mà sẽ thiết lập focus tới giá trị đó
2void setIcon(Icon newIcon)Thiết lập icon để hiển thị
3void setInitialSelectionValue(Object newValue)Thiết lập giá trị input mà được hiển thị ban đầu như là selected tới người dùng
4void setInitialValue(Object newInitialValue)Thiết lập giá trị ban đầu để được kích hoạt. Đây là thành phần mà có focus khi pane được hiển thị ban đầu
5void setInputValue(Object newValue)Thiết lập giá trị input mà là selected hoặc input bởi người dùng
6void setMessage(Object newMessage)Thiết lập đối tượng message của option pane
7void setMessageType(int newType)Thiết lập kiểu thông điệp của option pane
8void setOptions(Object[] newOptions)Thiết lập các tùy chọn mà pane này hiển thị
9void setOptionType(int newType)Thiết lập các tùy chọn để hiển thị
10static voidsetRootFrame(Frame newRootFrame)Thiết lập frame để sử dụng cho các phương thức lớp mà chưa được cung cấp frame nào
11void setSelectionValues(Object[] newValues)Thiết lập các giá trị selection cho một pane mà cung cấp cho người dùng một danh sách item để lựa chọn từ đó
12void setUI(OptionPaneUI ui)Thiết lập đối tượng UI mà triển khai L&F cho thành phần này
13void setValue(Object newValue)Thiết lập giá trị mà người dùng đã lựa chọn
14void setWantsInput(boolean newValue)Thiết lập thuộc tính wantsInput
15static int showConfirmDialog(Component parentComponent, Object message)Hiển thị một hộp thoại với các tùy chọn Yes, No và Cancel với title là Select an Option
16static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType)Hiển thị một hộp thoại, với số tùy chọn được xác định bởi tham số optionType
17static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType)Hiển thị một hộp thoại, với số tùy chọn được xác định bởi tham số optionType, và tham số messageType xác định icon để hiển thị
18static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon)Hiển thị một hộp thoại với icon đã cho, với số tùy chọn được xác định bởi tham số optionType
19static String showInputDialog(Component parentComponent, Object message, Object initialSelectionValue)Hiển thị một hộp thoại dạng question-message yêu cầu input từ người dùng được tạo ra từ parentComponent
20static String showInputDialog(Component parentComponent, Object message, String title, int essageType)Hiển thị một hộp thoại dạng question-message yêu cầu input từ người dùng được tạo ra từ parentComponent với hộp thoại có title và messageType
21static Object showInternalInputDialog(Component parentComponent, Object message, String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue)Gợi ý người dùng nhập input trong một hộp thoại nội tại, ở đây sự lựa chọn ban đầu, sự lựa chọn có thể có, và tất cả tùy chọn khác có thể được xác định
22JDialog createDialog(Component parentComponent, String title)Tạo và trả về một JDialog mới mà bao quanh optionpane này được căn chỉnh vào giữa parentComponent trong frame của parentComponent
23JDialog createDialog(String title)Tạo và trả về một JDialog mới (không phải là cha) với title đã cho
24JInternalFrame createInternalFrame(Component parentComponent, String title)Tạo và trả về một instance của JInternalFrame

Chương trình ví dụ lớp JOptionPane

package vn.viettuts.swing;
 
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
 
public class JOptionPaneExam1 {
 
    private JFrame mainFrame;
    private JLabel headerLabel;
    private JLabel statusLabel;
    private JPanel controlPanel;
 
    public JOptionPaneExam1() {

        prepareGUI();
    }
 
    public static void main(String[] args) {
        JOptionPaneExam1 demo = new JOptionPaneExam1();
        demo.showDialogDemo();
    }
 
    private void prepareGUI() {
        mainFrame = new JFrame("Vi du JOptionPane trong Java Swing");
        mainFrame.setSize(500, 400);
        mainFrame.setLayout(new GridLayout(3, 1));
        mainFrame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent windowEvent) {
                System.exit(0);
            }
        });
        headerLabel = new JLabel("", JLabel.CENTER);
        statusLabel = new JLabel("", JLabel.CENTER);
        statusLabel.setSize(350, 100);
        controlPanel = new JPanel();
        controlPanel.setLayout(new FlowLayout());
        mainFrame.add(headerLabel);
        mainFrame.add(controlPanel);
        mainFrame.add(statusLabel);
        mainFrame.setVisible(true);
    }
 
    private void showDialogDemo() {

        headerLabel.setText("Control in action: JOptionPane");
        JButton okButton = new JButton("OK");
        JButton javaButton = new JButton("Yes/No");
        JButton cancelButton = new JButton("Yes/No/Cancel");
        okButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(mainFrame, 
                        "Welcome to VietTuts.Vn");
            }
        });
        javaButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int output = JOptionPane.showConfirmDialog(mainFrame, 
                        "Click any button", "VietTuts.Vn",
                        JOptionPane.YES_NO_OPTION);
                if (output == JOptionPane.YES_OPTION) {
                    statusLabel.setText("Yes selected.");
                } else if (output == JOptionPane.NO_OPTION) {
                    statusLabel.setText("No selected.");
                }
            }
        });
        cancelButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int output = JOptionPane.showConfirmDialog(mainFrame, 
                        "Click any button", "VietTuts.Vn",
                        JOptionPane.YES_NO_CANCEL_OPTION, 
                        JOptionPane.INFORMATION_MESSAGE);
                if (output == JOptionPane.YES_OPTION) {

                    statusLabel.setText("Yes selected.");
                } else if (output == JOptionPane.NO_OPTION) {
                    statusLabel.setText("No selected.");
                } else if (output == JOptionPane.CANCEL_OPTION) {
                    statusLabel.setText("Cancel selected.");
                }
            }
        });
        controlPanel.add(okButton);
        controlPanel.add(javaButton);
        controlPanel.add(cancelButton);
        mainFrame.setVisible(true);
    }
}

Chạy chương trình trên cho kết quả như sau:

Related Posts
Lịch sử ngôn ngữ lập trình Java

Java (phiên âm Tiếng Việt: "Gia-va") là một ngôn ngữ lập trình hướng đối tượng, dựa trên lớp được thiết Read more

Phím tắt trong Eclipse giúp tăng năng suất coding

Các phím tắt sẽ giúp tốc độ coding của bạn nhanh hơn rất nhiều, hơn nữa format code của bạn Read more

Lập trình Hướng đối tượng(OOP)

Lập trình hướng đối tượng (tiếng Anh: Object-oriented programming, viết tắt: OOP) là một mẫu hình lập trình dựa trên Read more

Kiểu dữ liệu Nguyên thủy(Primitive)

1. Tổng quan Trong ngôn ngữ lập trình Java có 2 kiểu dữ liệu chúng ta cần nắm và phân Read more

Hãy bình luận đầu tiên

Để lại một phản hồi