package pokemon;
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.util.Hashtable;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import pokemon.casual.Music;
import pokemon.fight.Fight;
import pokemon.inventory.Inventory;
import javax.swing.JPanel;
import javax.swing.JSlider;
@SuppressWarnings("serial")
public class Menu extends JFrame {
public JLabel start;
public JLabel load;
public JLabel settings;
public JLabel close;
public JLabel close2;
public JLabel close3;
public JPanel bg;
public JLabel bg2;
public JPanel bg3;
public JLabel bg4;
public JPanel bg5;
public JLabel bg6;
public JPanel inv1;
public JLabel inv2;
public JSlider slider;
public static JLabel gif;
public JLabel Savegame1;
FileHandler fh = new FileHandler();
public JLabel test;
@SuppressWarnings("unused")
public Menu() {
Music.playIntro();
super.setUndecorated(true);
super.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
super.setSize(1080, 771);
super.setLocationRelativeTo(null);
super.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/resource/pokemon-ico.png")));
super.setResizable(false);
JFrame settings2 = new JFrame("Pokemon Settings");
JFrame savegames = new JFrame("Pokemon Savegames");
File intro = new File("wurzelheim.WAV");
bg = new JPanel();
bg.setSize(1080, 771);
bg.setVisible(true);
bg.setLayout(null);
super.add(bg);
bg3 = new JPanel();
bg3.setSize(1080, 771);
bg3.setVisible(true);
bg3.setLayout(null);
savegames.add(bg3);
bg5 = new JPanel();
bg5.setSize(1080, 771);
bg5.setVisible(true);
bg5.setLayout(null);
settings2.add(bg5);
bg2 = new JLabel(new ImageIcon(getClass().getResource("/resource/menu.jpg")));
bg2.doLayout();
bg2.setBounds(0,0,1080,771);
bg.add(bg2);
bg4 = new JLabel(new ImageIcon(getClass().getResource("/resource/savegames.jpg")));
bg4.doLayout();
bg4.setBounds(0,0,1080,771);
bg3.add(bg4);
bg6 = new JLabel(new ImageIcon(getClass().getResource("/resource/settings.jpg")));
bg6.doLayout();
bg6.setBounds(0,0,1080,771);
bg5.add(bg6);
start = new JLabel();
start.setIcon(new ImageIcon(getClass().getResource("/resource/search_default.png")));
start.setBounds(460,350,200,100);
start.addMouseListener(new MouseAdapter() {
boolean sgHover = false;
public void mouseEntered(MouseEvent evt) {
start.setIcon(new ImageIcon(getClass().getResource("/resource/search_hover.png")));
sgHover = true;
}
public void mouseExited(MouseEvent evt) {
start.setIcon(new ImageIcon(getClass().getResource("/resource/search_default.png")));
sgHover = false;
}
public void mousePressed(MouseEvent evt) {
start.setIcon(new ImageIcon(getClass().getResource("/resource/search_pressed.png")));
Music.playStarteffect();
Music.playLilycove();
Music.stopIntro();
Gameframe();
Close();
}
public void mouseReleased(MouseEvent evt) {
if (sgHover == true) {
start.setIcon(new ImageIcon(getClass().getResource("/resource/search_hover.png")));
}
}
});
bg2.add(start);
load = new JLabel();
load.setIcon(new ImageIcon(getClass().getResource("/resource/load_default.png")));
load.setBounds(460,450,200,100);
int i = fh.getSpielzeit();
Integer mI = new Integer(i);
String Spielzeit = mI.toString();
Savegame1 = new JLabel();
Savegame1.setText("Spielzeit: " + Spielzeit + " Name: " + fh.getName());
Savegame1.setBounds(460,250,400,100);
Savegame1.setFont(Savegame1.getFont().deriveFont(18f));
Savegame1.setVisible(false);
load.addMouseListener(new MouseAdapter() {
boolean sgHover = false;
public void mouseEntered(MouseEvent evt) {
load.setIcon(new ImageIcon(getClass().getResource("/resource/load_hover.png")));
sgHover = true;
}
public void mouseExited(MouseEvent evt) {
load.setIcon(new ImageIcon(getClass().getResource("/resource/load_default.png")));
sgHover = false;
}
public void mousePressed(MouseEvent evt) {
load.setIcon(new ImageIcon(getClass().getResource("/resource/load_pressed.png")));
Savegame1.setVisible(true);
savegames.setResizable(false);
savegames.setVisible(false);
savegames.setSize(1080,771);
savegames.setUndecorated(true);
savegames.setLocationRelativeTo(null);
savegames.setVisible(true);
}
public void mouseReleased(MouseEvent evt) {
if (sgHover == true) {
load.setIcon(new ImageIcon(getClass().getResource("/resource/load_hover.png")));
}
}
});
bg4.add(Savegame1);
bg2.add(load);
settings = new JLabel();
settings.setIcon(new ImageIcon(getClass().getResource("/resource/settings_default.png")));
settings.setBounds(460,550,200,100);
settings.addMouseListener(new MouseAdapter() {
boolean sgHover = false;
public void mouseEntered(MouseEvent evt) {
settings.setIcon(new ImageIcon(getClass().getResource("/resource/settings_hover.png")));
sgHover = true;
}
public void mouseExited(MouseEvent evt) {
settings.setIcon(new ImageIcon(getClass().getResource("/resource/settings_default.png")));
sgHover = false;
}
public void mousePressed(MouseEvent evt) {
settings.setIcon(new ImageIcon(getClass().getResource("/resource/settings_pressed.png")));
settings2.setResizable(false);
settings2.setVisible(false);
settings2.setSize(1080,771);
settings2.setUndecorated(true);
settings2.setLocationRelativeTo(null);
settings2.setVisible(true);
}
public void mouseReleased(MouseEvent evt) {
if (sgHover == true) {
settings.setIcon(new ImageIcon(getClass().getResource("/resource/settings_hover.png")));
}
}
});
bg2.add(settings);
close = new JLabel();
close.setIcon(new ImageIcon(getClass().getResource("/resource/close_default.png")));
close.setBounds(1030,-15,200,100);
close.addMouseListener(new MouseAdapter() {
boolean sgHover = false;
public void mouseEntered(MouseEvent evt) {
close.setIcon(new ImageIcon(getClass().getResource("/resource/close_hover.png")));
sgHover = true;
}
public void mouseExited(MouseEvent evt) {
close.setIcon(new ImageIcon(getClass().getResource("/resource/close_default.png")));
sgHover = false;
}
public void mousePressed(MouseEvent evt) {
close.setIcon(new ImageIcon(getClass().getResource("/resource/close_pressed.png")));
Close();
System.exit(0);
}
public void mouseReleased(MouseEvent evt) {
if (sgHover == true) {
close.setIcon(new ImageIcon(getClass().getResource("/resource/close_hover.png")));
}
}
});
bg2.add(close);
setVisible(true);
close2 = new JLabel();
close2.setIcon(new ImageIcon(getClass().getResource("/resource/close_default.png")));
close2.setBounds(1030,-15,200,100);
close2.addMouseListener(new MouseAdapter() {
boolean sgHover = false;
public void mouseEntered(MouseEvent evt) {
close2.setIcon(new ImageIcon(getClass().getResource("/resource/close_hover.png")));
sgHover = true;
}
public void mouseExited(MouseEvent evt) {
close2.setIcon(new ImageIcon(getClass().getResource("/resource/close_default.png")));
sgHover = false;
}
public void mousePressed(MouseEvent evt) {
close2.setIcon(new ImageIcon(getClass().getResource("/resource/close_pressed.png")));
savegames.dispose();
}
public void mouseReleased(MouseEvent evt) {
if (sgHover == true) {
close2.setIcon(new ImageIcon(getClass().getResource("/resource/close_hover.png")));
}
}
});
bg4.add(close2);
close3 = new JLabel();
close3.setIcon(new ImageIcon(getClass().getResource("/resource/close_default.png")));
close3.setBounds(1030,-15,200,100);
close3.addMouseListener(new MouseAdapter() {
boolean sgHover = false;
public void mouseEntered(MouseEvent evt) {
close3.setIcon(new ImageIcon(getClass().getResource("/resource/close_hover.png")));
sgHover = true;
}
public void mouseExited(MouseEvent evt) {
close3.setIcon(new ImageIcon(getClass().getResource("/resource/close_default.png")));
sgHover = false;
}
public void mousePressed(MouseEvent evt) {
close3.setIcon(new ImageIcon(getClass().getResource("/resource/close_pressed.png")));
settings2.dispose();
}
public void mouseReleased(MouseEvent evt) {
if (sgHover == true) {
close3.setIcon(new ImageIcon(getClass().getResource("/resource/close_hover.png")));
}
}
});
bg6.add(close3);
JSlider masterslider = new JSlider(JSlider.HORIZONTAL);
masterslider.setBounds(285,200,500,100);
masterslider.setBackground(Color.white);
masterslider.setMinorTickSpacing(5);
masterslider.setMajorTickSpacing(10);
masterslider.setPaintTicks(true);
masterslider.setPaintLabels(true);
masterslider.setVisible(true);
masterslider.addChangeListener(new ChangeListener(){
@Override
public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider) e.getSource();
System.out.println(source.getValue());
}
});
bg5.add(masterslider);
JSlider effectslider = new JSlider(JSlider.HORIZONTAL);
effectslider.setBounds(285,400,500,100);
effectslider.setBackground(Color.white);
effectslider.setMinorTickSpacing(5);
effectslider.setMajorTickSpacing(10);
effectslider.setPaintTicks(true);
effectslider.setPaintLabels(true);
effectslider.setVisible(true);
bg5.add(effectslider);
JSlider musicslider = new JSlider(JSlider.HORIZONTAL);
musicslider.setBounds(285,600,500,100);
musicslider.setBackground(Color.white);
musicslider.setMinorTickSpacing(5);
musicslider.setMajorTickSpacing(10);
musicslider.setPaintTicks(true);
musicslider.setPaintLabels(true);
musicslider.setVisible(true);
bg5.add(musicslider);
}
public void Close() {
super.dispose();
}
public void Gameframe(){
gif = new JLabel(new ImageIcon(getClass().getResource("/resource/fightintro.gif")));
gif.setBounds(0,0,1095, 771);
gif.setVisible(false);
Game game = new Game();
JFrame frame = new JFrame("Pokemon");
Inventory inven = new Inventory();
frame.add(Inventory.inv2);
frame.add(Inventory.arrow);
frame.add(gif);
frame.add(game);
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/resource/pokemon-ico.png")));
frame.setVisible(true);
game.start();
}
}