30/09/2018, 20:36

sự khác nhau giữa JFrame và JDialog trong JAVASWING

Em mới học java swing. em vẩn chưa biết được sự khác nhau giữa frame và dialog.
Có ai có thể cho em biết sự khác nhau giữa 2 cái đó là gì được không?
Em cảm ơn!!

Leng Keng viết 22:45 ngày 30/09/2018

dialog là đưa ra thông báo. còn JFrame như là kho chứa. nó chứa các thành phần như Button,JPanel,Label,… mình cũng mới học, không biết có chính xác không.

Trần Xuân Cường viết 22:43 ngày 30/09/2018

theo mình biết thì JDialog cũng có thể tạo 1 khung chứa như JFrame và nó cũng có thể chứa các thành phần khác nhưng mình không biết chính xác sự khác nhau giữa 2 cái này là gì. Và vì sao phải tạo ra 2 cái như thế. Mình nghĩ là nó phải có công dụng gì khác…

X viết 22:49 ngày 30/09/2018

Khác nhau cơ bản nhất là JDialog không có maximize/minimum button
Dùng để hiển thị một chức năng riêng biệt nào đó thôi. Còn JFrame hiển thị chung các chức năng.

Ví dụ mở Winrar lên.
Giao diện chính của chương trình vừa xuất hiện có thể xem là JFrame.
Sau đó vào các menu chức năng như Open, Setting, About…

Hộp thoại Setting sẽ hiển thị những gì liên quan đến việc config, setting này nọ của chương trình.
Hộp thoại About sẽ hiện thông tin về chương trình.
Hộp thoại Open sẽ cho bạn chọn file/folder.
Các hộp thoại này là JDialog

viết 22:41 ngày 30/09/2018

Hiểu nôm na là phân biệt giữa “cửa sổ làm việc” và “hộp thoại”

Trần Xuân Cường viết 22:43 ngày 30/09/2018

Vậy liệu có lợi ích gì khi những hộp thoại đó được tạo bằng JDialog không anh?
Vì nếu chỉ khác nhau như thế thì em tạo bằng JFrame cũng được mà

Quốc Hùng viết 22:38 ngày 30/09/2018

JDialog là một parent component nhưng nó không cho phép resize cũng như khi tắt nó cũng sẽ chẳng tắt luôn chương trình. Thường thì chỉ để làm 1 và chỉ 1 việc gì đấy, như thông báo, chọn màu, yes/no,… và thường trả về gía trị do tùy chọn của hộp thoại
JFrame cũng là 1 parent component nhưng nó có nhiều properties hơn, và nhận được EXIT_ON_CLOSE. Nhưng ít khi nào người ta dùng JFrame để trả về 1 gía trị gì đấy
việc dùng JFrame dùng để làm cửa sổ chính, tương tác được, còn trong lúc tương tác, có yêu cầu hay lỗi nào đấy thì đó là nhiệm vụ của JDialog. Không ai bỏ công viết 1 đoạn code for nothing cả

Bài liên quan
0