You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.7 KiB
69 lines
2.7 KiB
package com.mathlearning.view;
|
|
|
|
import com.mathlearning.controller.NavigationController;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
|
|
public class LevelSelectionView extends JPanel {
|
|
private NavigationController navigationController;
|
|
private String userIdentifier;
|
|
private String email;
|
|
|
|
private JButton primaryButton;
|
|
private JButton middleButton;
|
|
private JButton highButton;
|
|
private JButton logoutButton;
|
|
|
|
public LevelSelectionView(NavigationController navigationController, String userIdentifier, String email) {
|
|
this.navigationController = navigationController;
|
|
this.userIdentifier = userIdentifier;
|
|
this.email = email;
|
|
initializeUI();
|
|
}
|
|
|
|
private void initializeUI() {
|
|
setLayout(new GridBagLayout());
|
|
GridBagConstraints gbc = new GridBagConstraints();
|
|
gbc.insets = new Insets(15, 15, 15, 15);
|
|
gbc.fill = GridBagConstraints.HORIZONTAL;
|
|
|
|
JLabel titleLabel = new JLabel("选择学习阶段", JLabel.CENTER);
|
|
titleLabel.setFont(new Font("微软雅黑", Font.BOLD, 24));
|
|
gbc.gridx = 0; gbc.gridy = 0; gbc.gridwidth = 2;
|
|
add(titleLabel, gbc);
|
|
|
|
gbc.gridy = 1;
|
|
String userInfo = "当前用户: " + userIdentifier;
|
|
if (!userIdentifier.equals(email)) {
|
|
userInfo += " (" + email + ")";
|
|
}
|
|
JLabel userLabel = new JLabel(userInfo, JLabel.CENTER);
|
|
userLabel.setFont(new Font("微软雅黑", Font.PLAIN, 14));
|
|
add(userLabel, gbc);
|
|
|
|
gbc.gridwidth = 1;
|
|
gbc.gridx = 0; gbc.gridy = 2;
|
|
primaryButton = new JButton("小学");
|
|
primaryButton.setFont(new Font("微软雅黑", Font.PLAIN, 18));
|
|
primaryButton.addActionListener(e -> navigationController.showQuestionCountView("小学"));
|
|
add(primaryButton, gbc);
|
|
|
|
gbc.gridx = 1; gbc.gridy = 2;
|
|
middleButton = new JButton("初中");
|
|
middleButton.setFont(new Font("微软雅黑", Font.PLAIN, 18));
|
|
middleButton.addActionListener(e -> navigationController.showQuestionCountView("初中"));
|
|
add(middleButton, gbc);
|
|
|
|
gbc.gridx = 0; gbc.gridy = 3; gbc.gridwidth = 2;
|
|
highButton = new JButton("高中");
|
|
highButton.setFont(new Font("微软雅黑", Font.PLAIN, 18));
|
|
highButton.addActionListener(e -> navigationController.showQuestionCountView("高中"));
|
|
add(highButton, gbc);
|
|
|
|
gbc.gridy = 4;
|
|
logoutButton = new JButton("退出登录");
|
|
logoutButton.addActionListener(e -> navigationController.showLoginView());
|
|
add(logoutButton, gbc);
|
|
}
|
|
} |