mirror of
https://github.com/jokerx3/HeatUp
synced 2026-07-27 08:49:44 +02:00
final fixes
This commit is contained in:
@@ -1,23 +1,30 @@
|
||||
package de.heatup.ui.menu;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Font;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.TextField;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import de.heatup.highscore.ScoreEntry;
|
||||
import de.heatup.logging.Logger;
|
||||
import de.heatup.ui.FontLoader;
|
||||
import de.heatup.ui.Main;
|
||||
import de.heatup.ui.PanelBuilder;
|
||||
|
||||
public class SaveScorePanel {
|
||||
|
||||
private static JPanel saveScorePanel = new JPanel();
|
||||
|
||||
//
|
||||
private static JPanel headingPanel, dividerPanel, formPanel;
|
||||
private static JLabel headingLabel, dividerLabel, scoreLabel;
|
||||
private static JPanel headingPanel, dividerPanel, formPanel, scorePanel,scoreTextPanel, savePanel;
|
||||
private static JLabel headingLabel, dividerLabel, scoreLabel, saveLabel;
|
||||
private static TextField nameField;
|
||||
|
||||
// Font loader and font Settings
|
||||
@@ -40,7 +47,12 @@ public class SaveScorePanel {
|
||||
initHeadingPanel();
|
||||
saveScorePanel.add(headingPanel);
|
||||
saveScorePanel.add(dividerPanel);
|
||||
|
||||
|
||||
initFormPanel();
|
||||
saveScorePanel.add(formPanel);
|
||||
|
||||
initSavePanel();
|
||||
saveScorePanel.add(savePanel);
|
||||
}
|
||||
|
||||
private static void initHeadingPanel() {
|
||||
@@ -76,46 +88,93 @@ public class SaveScorePanel {
|
||||
dividerPanel.add(dividerLabel);
|
||||
}
|
||||
|
||||
|
||||
private static void initFormPanel() {
|
||||
|
||||
formPanel = new JPanel();
|
||||
formPanel.setSize(new Dimension(800, 400));
|
||||
formPanel.setLayout(new GridLayout(2, 1));
|
||||
formPanel.setBackground(Color.BLACK);
|
||||
formPanel.setFocusable(true);
|
||||
formPanel.setVisible(true);
|
||||
|
||||
scoreTextPanel = new JPanel();
|
||||
scoreTextPanel.setSize(new Dimension(800, 200));
|
||||
scoreTextPanel.setBackground(Color.BLACK);
|
||||
scoreTextPanel.setFocusable(true);
|
||||
scoreTextPanel.setVisible(true);
|
||||
|
||||
//
|
||||
nameField = new TextField("Name", 25);
|
||||
nameField.setEditable(true);
|
||||
nameField.setFont(emulogicSmall);
|
||||
|
||||
scoreTextPanel.add(nameField);
|
||||
|
||||
//
|
||||
scorePanel = new JPanel();
|
||||
scorePanel.setVisible(true);
|
||||
scorePanel.setFocusable(false);
|
||||
scorePanel.setSize(new Dimension(800, 200));
|
||||
scorePanel.setBackground(Color.BLACK);
|
||||
|
||||
//
|
||||
scoreLabel = new JLabel();
|
||||
scoreLabel.setFont(emulogicSmall);
|
||||
scoreLabel.setForeground(Color.YELLOW);
|
||||
scoreLabel.setBackground(Color.BLACK);
|
||||
scoreLabel.setFocusable(false);
|
||||
scoreLabel.setText("Deine score");
|
||||
scoreLabel.setVisible(true);
|
||||
|
||||
scorePanel.add(scoreLabel);
|
||||
|
||||
JPanel nameFormPanel = new JPanel();
|
||||
nameFormPanel.setSize(new Dimension(800, 300));
|
||||
nameFormPanel.setLayout(new GridLayout(2, 1));
|
||||
nameFormPanel.setBackground(Color.BLACK);
|
||||
nameFormPanel.setFocusable(true);
|
||||
nameFormPanel.setVisible(true);
|
||||
formPanel.add(scorePanel);
|
||||
formPanel.add(scoreTextPanel);
|
||||
}
|
||||
|
||||
public static void initSavePanel() {
|
||||
|
||||
nameFormPanel.add(nameField);
|
||||
savePanel = new JPanel();
|
||||
savePanel.setSize(new Dimension(800, 200));
|
||||
savePanel.setFocusable(false);
|
||||
savePanel.setVisible(true);
|
||||
savePanel.setBackground(Color.BLACK);
|
||||
|
||||
saveLabel = new JLabel();
|
||||
saveLabel.setBackground(Color.BLACK);
|
||||
saveLabel.setForeground(Color.YELLOW);
|
||||
saveLabel.setFont(emulogicHeading);
|
||||
saveLabel.setText("Score speichern");
|
||||
saveLabel.setVisible(true);
|
||||
|
||||
saveLabel.addMouseListener(new MouseAdapter() {
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
|
||||
// safe scores to file
|
||||
safeScoreToFile();
|
||||
|
||||
saveScorePanel.setVisible(false);
|
||||
MenuPanel.getMenuPanel().setVisible(true);
|
||||
|
||||
PanelBuilder.getOuterPanel().add(MenuPanel.getMenuPanel(), BorderLayout.CENTER);
|
||||
|
||||
Logger.write("Score saved");
|
||||
}
|
||||
});
|
||||
|
||||
savePanel.add(saveLabel);
|
||||
}
|
||||
|
||||
private static void safeScoreToFile() {
|
||||
PanelBuilder.getMapEngine().getHighscoreHandler().setHighscore(
|
||||
PanelBuilder.getMapEngine().getMapHash(), nameField.getText(), score);
|
||||
PanelBuilder.getMapEngine().getHighscoreHandler().saveHighscores();
|
||||
|
||||
formPanel.add(nameFormPanel);
|
||||
}
|
||||
|
||||
public static void setScoreLabelText(int score) {
|
||||
SaveScorePanel.score = score;
|
||||
scoreLabel.setText("Score : " + SaveScorePanel.score);
|
||||
|
||||
initFormPanel();
|
||||
formPanel.add(scoreLabel);
|
||||
saveScorePanel.add(formPanel);
|
||||
}
|
||||
|
||||
public static void setScore(int score) {
|
||||
|
||||
Reference in New Issue
Block a user