package de.achim.turnier;
import info.clearthought.layout.TableLayout;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class AnlegenPaarungPanel extends JPanel {
private static final int WIDTH = 300;
private static final int HEIGHT = 400;
private String mannschaft1 = "";
private String mannschaft2 = "";
// private String uhrzeit = "";
// private String datum = "";
private Turniervewaltung2 motherFrame;
private JPanel spielPanel;
final JTextField jtMannschaft1;
final JTextField jtMannschaft2;
final JTextField jtUhrzeit;
final JTextField jtDatum;
final JTextField jtTitle;
final JRadioButton jrEineGruppe;
final JRadioButton jrZweiGruppen;
final JRadioButton jrGruppe1;
final JRadioButton jrGruppe2;
final JLabel lbZuordnung1;
final JLabel lbZuordnung2;
final TableLayout tabLayout ;
final JPanel anlegenPanel;
final JLabel lblErrorMsg;
/*
* constructor
*/
public AnlegenPaarungPanel(){
setSize(WIDTH, HEIGHT);
JPanel errorPanel = new JPanel();
errorPanel.setSize(WIDTH, 60);
this.setName("anlegenpaarungspanel");
JPanel buttonPanel = new JPanel();
anlegenPanel = new JPanel();
anlegenPanel.setSize(WIDTH, 400);
double f = TableLayout.FILL;
double p = TableLayout.PREFERRED;
double col[] = {f,f,f,f};
double [] row2 = {f,f,f,f,f,f,p, p};
double [][] size = {row2, col};
tabLayout = new TableLayout();
tabLayout.setRow(row2);
tabLayout.setColumn(col);
anlegenPanel.setLayout(tabLayout);
JLabel lbl = new JLabel("Turnier Titel");
jtTitle = new JTextField();
jrEineGruppe = new JRadioButton("Eine Gruppe");
jrZweiGruppen = new JRadioButton("Zwei Gruppen");
jrEineGruppe.setSelected(true);
ButtonGroup group = new ButtonGroup();
group.add(jrEineGruppe);
group.add(jrZweiGruppen);
jrGruppe1 = new JRadioButton();
lbZuordnung1 = new JLabel("Paarung f�r Gruppe 1");
jrGruppe2 = new JRadioButton();
lbZuordnung2 = new JLabel("Paarung f�r Gruppe 2");
ButtonGroup zuordnungGroup = new ButtonGroup();
zuordnungGroup.add(jrGruppe1);
zuordnungGroup.add(jrGruppe2);
lbZuordnung1.setVisible(false);
lbZuordnung2.setVisible(false);
jrGruppe1.setVisible(false);
jrGruppe2.setVisible(false);
JLabel lbMannschaft1 = new JLabel("Mannschaft 1: ");
jtMannschaft1 = new JTextField("");
jtMannschaft2 = new JTextField("");
JLabel lbMannschaft2 = new JLabel("Mannschaft 2: ");
JLabel lbDatum = new JLabel("Datum");
jtDatum = new JTextField("01.01.2010");
JLabel lbUhrzeit = new JLabel("Spielbeginn: ");
jtUhrzeit = new JTextField("12:00");
lblErrorMsg = new JLabel();
lblErrorMsg.setForeground(Color.RED);
lblErrorMsg.setHorizontalAlignment(lblErrorMsg.CENTER);
JButton btnOk = new JButton("OK");
JButton btnCancel = new JButton("Cancel");
btnCancel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jtMannschaft1.setText("");
jtMannschaft2.setText("");
jtUhrzeit.setText("12:00");
//System.exit( 0 );
}
});
jrZweiGruppen.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if(jrZweiGruppen.isSelected()){
tabLayout.insertRow(2, TableLayout.FILL);
anlegenPanel.add(lbZuordnung1, "0, 2, 1, 2");
anlegenPanel.add(jrGruppe1, "2,2,3,2");
tabLayout.insertRow(3, TableLayout.FILL);
anlegenPanel.add(lbZuordnung2, "0, 3, 1, 3");
anlegenPanel.add(jrGruppe2, "2,3,3,3");
lbZuordnung1.setVisible(true);
lbZuordnung2.setVisible(true);
jrGruppe1.setVisible(true);
jrGruppe2.setVisible(true);
jrGruppe1.setSelected(true);
anlegenPanel.revalidate();
} else {
anlegenPanel.remove(lbZuordnung1);
anlegenPanel.remove(lbZuordnung2);
anlegenPanel.remove(jrGruppe1);
anlegenPanel.remove(jrGruppe2);
tabLayout.deleteRow(2);
tabLayout.deleteRow(2);
anlegenPanel.revalidate();
}
}
});
buttonPanel.add(btnOk);
buttonPanel.add(btnCancel);
errorPanel.add(lblErrorMsg);
anlegenPanel.add(lbl, "0,0");
anlegenPanel.add(jtTitle, "1,0, 3,0");
anlegenPanel.add(jrEineGruppe, "0,1,1,1");
anlegenPanel.add(jrZweiGruppen, "2,1,3,1");
anlegenPanel.add(lbMannschaft1, "0,2");
anlegenPanel.add(jtMannschaft1, "1,2, 3,1");
anlegenPanel.add(lbMannschaft2, "0,3");
anlegenPanel.add(jtMannschaft2, "1,3, 3,3");
anlegenPanel.add(lbDatum, "0,4");
anlegenPanel.add(jtDatum, "1,4");
anlegenPanel.add(lbUhrzeit, "0,5");
anlegenPanel.add(jtUhrzeit, "1,5");
anlegenPanel.add(buttonPanel, "0,6,3,6");
anlegenPanel.add(errorPanel, "0,7,3,7");
ActionListener oklistener = new OKListener(this);
btnOk.addActionListener(oklistener);
add(anlegenPanel);
}
public void setSpielPanel(JPanel panel){
this.spielPanel = panel;
}
public void setMotherFrame(JFrame mother){
this.motherFrame = (Turniervewaltung2)mother;
motherFrame.registerComponent(this);
}
public JFrame getMotherFrame(){
return this.motherFrame;
}
public String getMannschaft1() {
return mannschaft1;
}
public void setMannschaft1(String mannschaft1) {
this.mannschaft1 = mannschaft1;
}
public String getMannschaft2() {
return mannschaft2;
}
public void setMannschaft2(String mannschaft2) {
this.mannschaft2 = mannschaft2;
}
}
class OKListener implements ActionListener{
AnlegenPaarungPanel app;
public OKListener(AnlegenPaarungPanel app){
this.app = app;
}
@Override
public void actionPerformed(ActionEvent e) {
((Turniervewaltung2)app.getMotherFrame()).updateData(app);
}
}