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.
MathEaxmApp/src/view/ScoreView.java

52 lines
2.2 KiB

package view;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
public class ScoreView extends JPanel {
private final JLabel scoreLabel = new JLabel("0", SwingConstants.CENTER);
private final JLabel scoreUnitLabel = new JLabel("分", SwingConstants.CENTER);
private final JLabel detailLabel = new JLabel(" ", SwingConstants.CENTER);
private final JButton continueButton = new JButton("再来一组");
private final JButton exitButton = new JButton("退出登录");
public ScoreView() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.insets = new Insets(10, 10, 10, 10);
JLabel titleLabel = new JLabel("答题结束!", SwingConstants.CENTER);
titleLabel.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 32));
add(titleLabel, gbc);
JPanel scorePanel = new JPanel();
scoreLabel.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 100));
scoreUnitLabel.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 30));
scoreUnitLabel.setBorder(new EmptyBorder(0,0, -50, 0));
scorePanel.add(scoreLabel);
scorePanel.add(scoreUnitLabel);
add(scorePanel, gbc);
detailLabel.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 20));
add(detailLabel, gbc);
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 0));
continueButton.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 16));
// 【修复】将 "=" 修改为 ":"
continueButton.putClientProperty("JButton.buttonType", "roundRect");
buttonPanel.add(continueButton);
buttonPanel.add(exitButton);
gbc.insets = new Insets(30, 10, 10, 10);
add(buttonPanel, gbc);
}
public void setScore(int score, int correct, int total) {
scoreLabel.setText(String.valueOf(score));
detailLabel.setText(String.format("答对 %d 题,共 %d 题", correct, total));
}
public JButton getContinueButton() { return continueButton; }
public JButton getExitButton() { return exitButton; }
}