Sử dụng hộp thoại JDialog để lấy dữ liệu về main Frame

Bài viết này hướng dẫn bạn cách sử dụng hộp thoại JDialog để lấy dữ liệu và trả dữ liệu đó về main Frame.

Trước tiên, các bạn tạo một JFrame Form, giao diện như sau:

Lấy dữ liệu từ hộp thoại dialog

Rồi tạo tiếp một JDialog có giao diện như sau:

Lấy dữ liệu từ hộp thoại dialog

Bên JFrame Form, bạn xử lý sự kiện cho nút Show Dialog như sau.

private void btnShowDialogActionPerformed(java.awt.event.ActionEvent evt) {
    DialogForm dialogform = new DialogForm(this, true);
    dialogform.setVisible(true);
    String str = dialogform.getTextFieldContent();
    txtRes.setText(str);
}

Dòng 2, 3 khởi tạo và làm xuất hiện hộp thoại. Khi hộp thoại xuất hiện, chương trình được chặn ngay dòng 4. Bạn làm việc bên dialog xong, sau khi dispose() (đoạn code dưới), hộp thoại biến mất và chương trình thực hiện dòng lệnh 4, 5.

Bên JDialog bạn xử lý sự kiện cho nút OK như sau. Và thêm một phương thức getTextFieldContent() trả về kiểu String và nhớ có bổ từ public.

private void btnOkActionPerformed(java.awt.event.ActionEvent evt) {
    dispose();
}

public String getTextFieldContent() {
    return txtInput.getText();
}

Dòng 2, như đã nói, sẽ hủy mọi thành phần giao diện của hộp thoại. Phương thức thứ hai rất quan trọng. Nó thực hiện các xử lý cần thiết và trả (return) về một kiểu dữ liệu nào đó. Frame chính sẽ nhận dữ liệu bằng cách như dòng 4 của đoạn code thứ nhất.

Lấy dữ liệu từ hộp thoại dialog

Advertisement