Xây dựng ứng dụng MDI với Java (netbean, ứng dụng form cha-con)


MDI application là loại giao diện ứng dụng rất phổ biến trên nền hệ điều hành window. Java hỗ trợ 02 đối tượng jDesktopPaneJInternalFrame cho phép lập trình viên tạo ra loại giao diện ứng dụng này đơn gian và nhanh chóng.

Trong bài này tôi hướng dẫn căn bản cho các bạn sinh viên (lập trình viên) từng bước tạo ứng dụng có kiểu giao diện này.
1. Tạo form chính (FrmMain)
2. Định nghĩa form con (Children form)
3. Chỉ đinh form cha-con.
4. Ràng buộc form con chỉ được mở 1 lần trong form cha.

Bước 1: Tạo ứng dụng Java destop với netbean.
+ File -> New Project -> chọn kiểu java application
Bước 2: Tạo đối tượng form cha
+ File -> New File -> chọn Swing GUI Forms -> chọn JFrame Form phía bên phải
+ Thiết kế menu chính của chương trình: Kéo thả Menu Bar và jDesktopPane vào form chính như hình dưới

Giao diện tạo form chính
Giao diện tạo form chính

Bước 3: Xây dựng các form con, trong ví dụ này tôi tạo form Login
+ File -> New File chọn tiếp loại JInternalFrame

Các bạn thiết kế lại giao diện form con cho phù hợp

Bước 4: Gán form con và form cha
+ Chọn menu login trong form cha: Click chuột phải và chọn event => action performed

for (JInternalFrame frmChild : jDesktopPane1.getAllFrames()) {
frmChild.dispose();
}

FrmLogin frmLogin = new FrmLogin();
frmLogin.setTitle("Login to system");
frmLogin.setLocation(this.getWidth()/2 - frmLogin.getWidth()/2,(this.getHeight()-20)/2 - frmLogin.getHeight()/2 - 20);
jDesktopPane1.add(frmLogin);
frmLogin.setVisible(true);

Dòng lệnh for đóng tất cả các form con đang mở.

jDesktopPane1.add(frmLogin);
frmLogin.setVisible(true);

Đoạn gán form login vào form main.

OK, bây giờ chạy form cha và chọn menu login ta sẽ có kết quả

Form con
Form con

Bước 5: Qui định form chỉ được mở 1 lần, nếu trước đó đã mở và hiện đang bị che khuất thì chỉ hiển thị form con lên trên (active). Trong ví dụ này tôi chọn form About để làm demo
+ Định nghĩa biên frmAbout có kiểu là FrmAbout
+ Trong sự kiện Action Performed của menu About ta cung cấp code như sau

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(frmAbout == null || frmAbout.isClosed())
{
frmAbout = new FrmAbout();
jDesktopPane1.add(frmAbout);
frmAbout.setLocation(this.getWidth()/2 - frmAbout.getWidth()/2,(this.getHeight()-20)/2 - frmAbout.getHeight()/2 - 20);
frmAbout.setVisible(true);
}
else
{
frmAbout.setLocation(this.getWidth()/2 - frmAbout.getWidth()/2,(this.getHeight()-20)/2 - frmAbout.getHeight()/2 - 20);
frmAbout.setVisible(true);
}
}

Như vậy là chúng ta vừa sủ dụng jDesktopPane và jInternalFrame để xây dựng ứng dụng MDI rất đơn gian. Hi vọng nó sẽ cho các bạn một các nhìn ban đầu về các xây dựng MDI application trên java với sự hỗ trợ của netbean.

Video từng bước tại đây

Advertisements

2 thoughts on “Xây dựng ứng dụng MDI với Java (netbean, ứng dụng form cha-con)

Phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s