Home Công nghệ Làm sao để tạo giao diện linh hoạt và tái sử dụng...

Làm sao để tạo giao diện linh hoạt và tái sử dụng được trong Swing

3342

Bài viết được sự cho phép của BBT Tạp chí Lập trình

  Hướng dẫn thêm tracking code vào giao diện WordPress không cần plugin
  Khám phá những công nghệ được sử dụng trong Facebook giao diện mới
Làm sao để tạo giao diện linh hoạt và tái sử dụng được trong Swing

Sau đây ta sẽ xem một ví dụ trên Netbeans về phát triển một ứng dụng: Ứng dụng có giao diện đầu tiên là đăng nhập (login). Sau đó nếu đăng nhập thành công thì sẽ chuyển sang giao diện chính (home)

1. Tạo một java application

Làm sao để tạo giao diện linh hoạt và tái sử dụng được trong Swing
Create Java Application

2. Tạo một JFrame (Main) và 2 JPanel (PnLogin , PnHome)

Làm sao để tạo giao diện linh hoạt và tái sử dụng được trong Swing
Các thành phần của ứng dụng

3. PnLogin

  • Thiết kế giao diện cho PnLogin
Làm sao để tạo giao diện linh hoạt và tái sử dụng được trong Swing
Giao điẹn của PnLogin
  • Ở giao diện này khi người dùng đăng nhập đúng thì sẽ chuyển sang giao diện Home, bởi thế panel này cần có thuộc tính JPanel cần chuyển tới.
//panel sẽ được hiển thị khi login thành công
private JPanel pnLoginSuccess;

/**
 * Xác định panel sẽ hiển thị khi đăng nhập thành công
 * @param pnLoginSuccess
 */
public void setPnLoginSuccess(JPanel pnLoginSuccess) {
	this.pnLoginSuccess = pnLoginSuccess;
}
  • Code cho sự kiện click chuột vào nút Login:

Click chuột phải vào nút Login và chọn Events ==> Action ==> actionPerformed

JFrame parent = Utitilities.findJFrameOf(this);
if (parent != null) {
	parent.setContentPane(pnLoginSuccess);
	parent.pack();
} else {
	JOptionPane.showMessageDialog(parent, 
             "Panel Login only used for JFrame");
	System.exit(1);
}

Phương thức Utitilities.findJFrameOf(this) là để tìm JFrame chứa một component

4. Main

JFrame này chứa các panel có thể có, và cần phải xác định navigation giữa các giao điện

5. Tương tự như PnLogin ta xây dựng giao diện cho các panel khác.
Source code

Bài viết gốc được đăng tải tại Tạp chí Lập Trình

Có thể bạn quan tâm:

Xem thêm các việc làm web Developer hấp dẫn tại TopDev