//4gewinnt_v5
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.net.URI;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JTextField;
public class Spielerstellen
{
private static JButton Spielanleitung = new JButton();
private static JButton NewGame = new JButton();
private static JButton Close = new JButton();
private static JTextField Text = new JTextField();
private static TextField Antwort = new TextField();
private static TextField Antwort2;
private static Label ausgabe = new Label();
private static Label ausgabe2 = new Label();
public static void create()
{
Spiel spiel = new Spiel();
SpielFrame frame = new SpielFrame (spiel);
//setzt Groesse, auch Dimension waeren moeglich
frame.setSize(600,500);
//verhindert GroessenAenderungen von JFrame
frame.setResizable(false);
//steuert das "x" vom Fenster, Do nothing, wegen WindowsListener
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
//ruft Methode auf
load(spiel, frame);
//String Antwort = JOptionPane.showInputDialog(null, "Wie hei�t der erste Spieler?");
//String Antwort2 = JOptionPane.showInputDialog(null, "Wie hei�t der zweite Spieler?");
//Fenster sichtbar
frame.setVisible(true);
}
public static void spielanleitung()
{
// TODO hier Quelltext einfuegen
//Desktopobjekt holen
Desktop desktop = Desktop.getDesktop();
//Adresse mit Standardbrowser anzeigen
URI uri;
try
{
uri = new URI("http://www.brettspielnetz.de/spielregeln/vier+gewinnt.php");
desktop.browse(uri);
}
catch (Exception oError)
{
//Hier Fehler abfangen -> was hier passiert, versteh ich nicht (iza)
}
}
public static void NeuStarten(Frame frame)
{
frame.dispose() ;
create();
NewGame= new JButton();
String Antwort = JOptionPane.showInputDialog("Wie hei�t der erste Spieler?");
String Antwort2 = JOptionPane.showInputDialog("Wie hei�t der zweite Spieler?");
ausgabe.setText( "Hallo " + Antwort + " und " + Antwort2);
ausgabe2.setText( "Viel Spass beim Spielen!");
}
public static void NeuStarten2(Frame frame)
{
frame.dispose() ;
create();
NewGame= new JButton();
}
static void load(final Spiel spiel, final SpielFrame frame)
{
frame.clear();
spiel.clear();
//Form des Spielfeldes
Box box = Box.createVerticalBox();
frame.add (box);
frame.setLocationRelativeTo(null);
//Hauptpanel
JPanel spielPanel = new JPanel (null);
box.add(spielPanel);
//Hintergrund:
JPanel backgroundPanel = new JPanel ();
//kann evtl geloescht werden:
backgroundPanel.setBounds(0, 0, 366, 314);
//Hintergrundfarbe:
backgroundPanel.setBackground (Color.lightGray);
spielPanel.add(backgroundPanel);
//Panel fuer Steine
JPanel steinPanel = new JPanel(null);
steinPanel.setBounds(0, 0, 366, 314);
//Transparenz:
steinPanel.setOpaque(false);
spielPanel.add(steinPanel, 0);
//Spielbrett reinladen:
JLabel spielbrett = new JLabel (new ImageIcon("bild\\foreground.png"));
spielbrett.setBounds(0,0,366,314);
spielPanel.add(spielbrett, 0);
JPanel mousePanel = new Maus(spiel, steinPanel, frame);
mousePanel.setBounds(0, 0, 366, 314);
mousePanel.setOpaque(false);
spielPanel.add(mousePanel, 0);
//
JLabel spielerLabel = new JLabel ();
box.add (spielerLabel);
//Button "Spiel beenden"
Close.setBounds(450, 410, 131, 33);
Close.setVisible(true);
Close.setText("Spiel Beenden");
spielPanel.add(Close);
Close.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
frame.dispose();
}
});
Label hinweis = new Label( "Bitte Spieler eingebe" );
ausgabe.setBounds(400, 10, 150, 33);
ausgabe.setVisible(true);
spielPanel.add(ausgabe);
ausgabe2.setBounds(400, 60, 150, 33);
ausgabe2.setVisible(true);
spielPanel.add(ausgabe2);
initializeNewGameButton(frame);
spielPanel.add(NewGame);
Spielanleitung.setBounds(20, 410, 131, 33);
Spielanleitung.setText("Spielanleitung");
Spielanleitung.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
spielanleitung();
}
});
spielPanel.add(Spielanleitung);
}
private static void initializeNewGameButton(final SpielFrame frame) {
NewGame.setBounds(200, 410, 131, 33);
NewGame.setVisible(true);
NewGame.setText("Neu Starten");
//.addActionListener(new ButtonLauscher());
NewGame.getActionListeners();
ActionListener[] actionListeners = NewGame.getActionListeners();
if (actionListeners.length == 0)
{
NewGame.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//frame.shutdown();
//Spielerstellen.create();
NewGame= new JButton();
Spielerstellen.NeuStarten(frame);
//frame.shutdown();
// Spielerstellen.load(spiel, frame);
}
}
);
}
}
public static void main (String[] args) {
create();
}
}