major changes in HighscoreMenu, implemented graphics and beginn for showing scores

This commit is contained in:
shebang
2015-01-14 06:58:54 +01:00
parent dc755f72c7
commit a6faa62d3d
@@ -1,5 +1,125 @@
package de.heatup.ui.menu; package de.heatup.ui.menu;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import de.heatup.highscore.ScoreEntry;
import de.heatup.logging.Logger;
import de.heatup.mapengine.MapEngine;
import de.heatup.ui.FontLoader;
public class HighscorePanel { public class HighscorePanel {
// dynamic panels
private static JPanel highscorePanel = new JPanel();
private static JPanel headingPanel;
private static JPanel contentPanel;
// default text panels and labels
private static JLabel headingLabel, dividerLabel;
private static GridLayout grid = new GridLayout(2, 1);
// Font Loader and font Settings
private static FontLoader fl = new FontLoader();
private static Font ttfbase, emulogicHeading, emulogicDivider, emulogicSmall;
// MapEngine used to get and set the Highscore
private static MapEngine me;
public HighscorePanel() {
initHighscorePanel();
getHighscores();
}
private static void getHighscores() {
// default map
me = new MapEngine(1);
// set some default values
me.getHighscoreHandler().setHighscore(me.getMapHash(), "Daniel", 3134);
me.getHighscoreHandler().setHighscore(me.getMapHash(), "Tim", 2010);
me.getHighscoreHandler().saveHighscores();
for (ScoreEntry score : me.getHighscoreHandler().getHighscores(me.getMapHash())) {
Logger.write(score.getName()+" "+score.getScore());
}
}
private static void initHighscorePanel() {
highscorePanel.setSize(new Dimension(800, 600));
highscorePanel.setBackground(Color.BLACK);
highscorePanel.setFocusable(false);
// build full highscorePanel
initHeadingPanel();
initContentPanel();
highscorePanel.add(headingPanel);
highscorePanel.add(contentPanel);
highscorePanel.setVisible(true);
}
private static void initHeadingPanel() {
headingPanel = new JPanel();
headingPanel.setSize(new Dimension(800, 50));
headingPanel.setBackground(Color.BLACK);
headingPanel.setFocusable(false);
headingPanel.setLayout(grid);
headingPanel.setVisible(true);
ttfbase = FontLoader.getFont();
emulogicHeading = ttfbase.deriveFont(Font.PLAIN, 20);
emulogicDivider = ttfbase.deriveFont(Font.PLAIN, 10);
headingLabel = new JLabel();
headingLabel.setText("HeatUP! - Highscores");
headingLabel.setForeground(Color.YELLOW);
headingLabel.setFont(emulogicHeading);
dividerLabel = new JLabel();
dividerLabel.setText("----------------------------------------");
dividerLabel.setForeground(Color.YELLOW);
dividerLabel.setFont(emulogicDivider);
headingPanel.add(headingLabel);
headingPanel.add(dividerLabel);
}
private static void initContentPanel() {
contentPanel = new JPanel();
contentPanel.setSize(new Dimension(800, 550));
contentPanel.setBackground(Color.BLACK);
contentPanel.setFocusable(false);
contentPanel.setVisible(true);
// GridLayout for Scores
}
public static JPanel getHighscorePanel() {
return highscorePanel;
}
public static void setHighscorePanel(JPanel highscorePanel) {
HighscorePanel.highscorePanel = highscorePanel;
}
public static JPanel getContentPanel() {
return contentPanel;
}
public static void setContentPanel(JPanel contentPanel) {
HighscorePanel.contentPanel = contentPanel;
}
} }