package Texas12;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class Settings_GUI extends JFrame implements WindowListener, ActionListener {
private String playername = "";
private short playercount;
private long money;
private long smallblind;
private long bigblind;
boolean loaderfinished = false;
private JPanel namepanel = new JPanel();
private JPanel anzahlpanel = new JPanel();
private JPanel einsatzpanel = new JPanel();
private JPanel northpanel = new JPanel();
private JPanel southpanel = new JPanel();
private JPanel blindpanel = new JPanel();
private SpinnerNumberModel spieler_spinner = new SpinnerNumberModel(5,2,6,1);
private SpinnerNumberModel startgeld_spinner = new SpinnerNumberModel(100,5,5000,1);
private JButton spielstart = new JButton("Spiel beginnen");
private JButton verlassen = new JButton("Quit");
private JTextField name = new JTextField("Player1",10);
private JTextField smallblind_field = new JTextField("1",4);
private JTextField bigblind_field = new JTextField("2",5);
private JLabel error = new JLabel();
GridLayout testlayout = new GridLayout(0,1);
private JPanel vert1 = new JPanel();
Settings_GUI(){
setTitle("Einstellungen");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
setLayout(new GridLayout(1,0));
//Komponenteninitialisierung
JLabel spielername_label = new JLabel("Name:");
JLabel spieleranzahl_label = new JLabel("Anzahl der Spieler:");
JLabel startgeld_label = new JLabel("Startgeld:");
JLabel smallblind_label = new JLabel("Smallblind:");
JLabel bigblind_label = new JLabel("Bigblind:");
JSpinner spieleranzahl = new JSpinner(spieler_spinner);
JSpinner startgeld = new JSpinner(startgeld_spinner);
// Panelinitialisierung
namepanel.add(spielername_label);
namepanel.add(name);
namepanel.setOpaque(true);
namepanel.setBackground(Color.green);
anzahlpanel.add(spieleranzahl_label);
anzahlpanel.add(spieleranzahl);
anzahlpanel.setOpaque(true);
anzahlpanel.setBackground(Color.yellow);
einsatzpanel.add(startgeld_label);
einsatzpanel.add(startgeld);
einsatzpanel.setOpaque(true);
einsatzpanel.setBackground(Color.blue);
blindpanel.add(smallblind_label);
blindpanel.add(smallblind_field);
blindpanel.add(bigblind_label);
blindpanel.add(bigblind_field);
blindpanel.setOpaque(true);
blindpanel.setBackground(Color.PINK);
smallblind_field.setText(getsmallblindvalue(startgeld.getValue().toString()));
bigblind_field.setText(getbigblindvalue(startgeld.getValue().toString()));
northpanel.setLayout(testlayout);
northpanel.setBackground(Color.red);
northpanel.add(namepanel);
northpanel.add(anzahlpanel);
northpanel.add(einsatzpanel);
northpanel.add(blindpanel);
northpanel.add(error);
southpanel.setLayout(new BoxLayout(southpanel,BoxLayout.X_AXIS));
southpanel.setBackground(Color.blue);
southpanel.add(spielstart);
southpanel.add(verlassen);
getContentPane().setLayout(new BoxLayout(getContentPane(),BoxLayout.Y_AXIS));
getContentPane().add(northpanel);
getContentPane().add(southpanel);
getContentPane().setBackground(Color.white);
//Listenermethoden
spielstart.addActionListener(this);
verlassen.addActionListener(this);
//ActionCommands
spielstart.setActionCommand("spielstart");
verlassen.setActionCommand("verlassen");
}
private String getsmallblindvalue(String s){
long tmp = Long.parseLong(s);
tmp = (tmp/100)*5;
return String.valueOf(tmp);
}
private String getbigblindvalue(String s){
long tmp = Long.parseLong(s);
tmp = (tmp/100)*10;
return String.valueOf(tmp);
}
private void setName(){
playername = name.getText();
System.out.println("NAME "+ playername);
}
private void setplayercount(){
playercount = Short.parseShort(spieler_spinner.getValue().toString());
System.out.println("SPIELRZAHL " +playercount);
}
private void setmoney(){
money = Long.parseLong(startgeld_spinner.getValue().toString());
System.out.println("STARTGELD " + money);
}
private void setsmallblind(){
smallblind = Long.parseLong(smallblind_field.getText());
System.out.println("Smallblind: " + smallblind);
}
private void setbigblind(){
bigblind = Long.parseLong(bigblind_field.getText());
System.out.println("Bigblind: " + bigblind);
}
public String getName(){
return playername;
}
public short getplayerount(){
return playercount;
}
public long getmoney(){
return money;
}
public long getsmallblind(){
return smallblind;
}
public long getbigblind(){
return bigblind;
}
@Override
public void actionPerformed(ActionEvent x) {
if (x.getActionCommand().equals("verlassen")){
System.exit(0);
}
if (x.getActionCommand().equals("spielstart")){
// Werte einholen für Name,Spielerzahl,Startbetrag und Blind
setName();
setplayercount();
setmoney();
setsmallblind();
setbigblind();
createmainwindow();
setVisible(false);
error.setText("spielstart");
}
}
private void createmainwindow(){
GUI mainwindow = new GUI(playername,playercount,money,smallblind,bigblind);
mainwindow.setSize(800, 600);
mainwindow.setVisible(true);
}
@Override
public void windowActivated(WindowEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void windowClosed(WindowEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent arg0) {
System.exit(0);
}
@Override
public void windowDeactivated(WindowEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void windowOpened(WindowEvent arg0) {
// TODO Auto-generated method stub
}
}