要實現Java登錄界面的跳轉,可以使用Swing的JFrame和JPanel來實現。以下是一個簡單的示例代碼:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LoginFrame extends JFrame {
private JPanel loginPanel;
private JPanel homePanel;
public LoginFrame() {
// 設置窗口標題
super("登錄界面");
// 創建登錄面板
loginPanel = new JPanel();
loginPanel.setLayout(new FlowLayout());
// 創建用戶名和密碼輸入框
JTextField usernameField = new JTextField(20);
JPasswordField passwordField = new JPasswordField(20);
JButton loginButton = new JButton("登錄");
// 添加登錄按鈕的點擊事件監聽器
loginButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 模擬登錄成功
boolean loginSuccess = true;
if (loginSuccess) {
// 創建首頁面板
homePanel = new JPanel();
homePanel.setLayout(new FlowLayout());
// 創建歡迎標簽
JLabel welcomeLabel = new JLabel("歡迎登錄!");
homePanel.add(welcomeLabel);
// 移除登錄面板,添加首頁面板
remove(loginPanel);
add(homePanel);
revalidate(); // 重新布局
repaint(); // 重繪界面
} else {
JOptionPane.showMessageDialog(null, "登錄失敗!", "提示", JOptionPane.ERROR_MESSAGE);
}
}
});
// 將用戶名、密碼輸入框和登錄按鈕添加到登錄面板
loginPanel.add(new JLabel("用戶名:"));
loginPanel.add(usernameField);
loginPanel.add(new JLabel("密碼:"));
loginPanel.add(passwordField);
loginPanel.add(loginButton);
// 將登錄面板添加到窗口
add(loginPanel);
// 設置窗口大小和關閉操作
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new LoginFrame();
}
}
在該示例代碼中,LoginFrame
類繼承自 JFrame
,代表整個登錄界面窗口。在構造方法中,首先創建了一個登錄面板 loginPanel
,并設置了用戶名、密碼輸入框和登錄按鈕,并為登錄按鈕添加了點擊事件監聽器。當點擊登錄按鈕時,如果登錄成功,則創建首頁面板 homePanel
,并通過 remove()
方法移除登錄面板,然后通過 add()
方法將首頁面板添加到窗口,最后通過 revalidate()
和 repaint()
方法重新布局和重繪界面。
在 main()
方法中創建了一個 LoginFrame
對象,用于啟動登錄界面窗口。
要實現其他頁面的跳轉,可以根據需要類似地創建相應的面板,并通過 remove()
和 add()
方法切換面板即可。