2013-07-14 44 views
13

Tôi có một lớp học JFrame và nó đã được thực hiện trong phần thiết kế trên Netbeans. Tôi đang cố gắng thực hiện một nút đăng nhập để đóng khung hình hiện tại và mở một khung hình khác, có cách nào tôi có thể làm điều đó không?Cách tạo nút JFrame mở một lớp JFrame khác trong Netbeans?

Tôi đã thử:

JFrame frame = new JFrame(); 

Nhưng tôi muốn nó được chỉnh sửa trong phần thiết kế!

+2

Xem [Sử dụng nhiều khung hình, thực hành tốt/xấu?] (Http://stackoverflow.com/a/9554657/418556) –

Trả lời

18

Double Click nút Login trong NetBeans hoặc thêm Event Listener trên Bấm tổ chức sự kiện (ActionListener)

btnLogin.addActionListener(new ActionListener() 
{ 
    public void actionPerformed(ActionEvent e) { 
     this.setVisible(false); 
     new FrmMain().setVisible(true); // Main Form to show after the Login Form.. 
    } 
}); 
+4

Tốt hơn nên sử dụng 'this.dispose()' thay vì làm cho nó vô hình vì nó sẽ vẫn chạy mà không cần sử dụng. – Azad

+0

Đúng Thats. Nhưng tôi nghĩ rằng trong khi các hình thức được xử lý nó có thể trở về chức năng chính mà không hiển thị các FrmMain .. OOPS ... Tôi nghĩ rằng Mã sẽ được Ngưng sau đó ... –

+1

Great nghĩ :) Mã sẽ không được dừng lại cho đến khi thực hiện tất cả các câu lệnh bên trong phương thức actionPerformed. – Azad

3

liên kết này làm việc với tôi: video

Câu trả lời đăng tải trước không làm việc cho tôi cho đến giây phút bấm

Vì vậy, những gì tôi đã làm được gọi trực tiếp đến:

 new NewForm().setVisible(true); 

     this.dispose();//to close the current jframe 
4
new SecondForm().setVisible(true); 

Bạn có thể sử dụng phương pháp setVisible(false) hoặc dispose() để biến mất biểu mẫu hiện tại.

0
JFrame.setVisible(true); 

Bạn có thể sử dụng phương pháp setVisible(false) hoặc dispose() để biến mất biểu mẫu hiện tại.