package TestFiles;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import org.hsqldb.TableDerived;
import FinalVersion.Dozent;
import FinalVersion.Gruppe;
import com.sun.org.apache.xerces.internal.impl.dv.xs.DateDV;
public class DialogGruppeAendern extends JDialog {
//------------------------------------
//Programm starten
//------------------------------------
public static void main(String[] args) {
new DialogGruppeAendern(null, gruppenID);
}
//------------------------------------
//Dialogelemente erzeugen
//------------------------------------
TestDB db = new TestDB();
Gruppe g = null;
Dozent d = null;
static String gruppenID = "";
private ImageIcon img = new ImageIcon("logoAlt.png");
private JLabel lbDatum = new JLabel("Datum: ", JLabel.LEFT);
private JLabel lbGruppenBezeichnung = new JLabel("Englischgruppe(Bez.): ", JLabel.LEFT);
private JLabel lbLevel = new JLabel("Level: ", JLabel.LEFT);
private JLabel lbDozent = new JLabel("Dozent: ", JLabel.LEFT);
private JLabel lbKommentar = new JLabel("Kommentar: ", JLabel.LEFT);
private JLabel lbArchiv = new JLabel("Gruppe archivieren:", JLabel.LEFT);
private JButton btnAbbrechen = new JButton("Abbrechen");
static JButton btnSpeichern = new JButton("Speichern");
JPanel panelArchiv = new JPanel(new GridLayout(1,5));
private Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Germany/Berlin"));
private JTextField tfDatum = new JTextField();
private JTextField tfGruppenBezeichnung = new JTextField();
private JTextArea taKommentar = new JTextArea(10,10);
private JCheckBox checkArchiv = new JCheckBox();
private JScrollPane sp = new JScrollPane(taKommentar);
private JComboBox cbLevel = null;
JComboBox cbDozent = null;
private JPanel northPanel = new JPanel(new GridLayout(6,2,10,10));
private JPanel centerPanel = new JPanel(new BorderLayout());
private JPanel southPanel = new JPanel(new GridLayout(1,2,10,10));
//------------------------------------
//Konstruktor (baut GUI auf)
//------------------------------------
HauptFrame parent = null;
public DialogGruppeAendern(final HauptFrame parent, final String gruppenID) {
super(parent);
this.parent = parent;
g = db.getGruppenObject(gruppenID);
d= db.getDozentObject(g.getD_kurz());
//------------------------------------
//Listener-Methoden (Reaktion auf Benutzereingaben)
//------------------------------------
btnAbbrechen.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
setVisible(false);
}
});
btnSpeichern.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String datum = tfDatum.getText();
String bezeichnung = tfGruppenBezeichnung.getText();
String level = cbLevel.getSelectedItem().toString();
String dozent = cbDozent.getSelectedItem().toString();
String kommentar = taKommentar.getText();
boolean archiv = checkArchiv.isSelected();
//System.out.println(datum + " " + bezeichnung + " " + level + " " + dozent + " " + kommentar);
db.updateGruppe(datum, bezeichnung,gruppenID, level, dozent,archiv, kommentar);
// System.out.println(archiv);
setVisible(false);
//zeigt tabelleninhalt verändert an
if(parent.btnGruppeArchiv.isSelected()){
parent.table.setModel(parent.getTableModelGruppenArchiv());
db.close();
}
else{
parent.table.setModel(parent.getTableModelGruppen());
}
return;
}
});
//------------------------------------
//Dialogelemente konfigurieren
//------------------------------------
String[] s = new String[db.getAnzahlDozenten()];
db.getDozenten(s);
cbDozent = new JComboBox(s);
String[] level = new String[db.getAnzahlLevel()];
System.out.println("LEVEL: " +db.getAnzahlLevel());
db.getLevel(level);
cbLevel = new JComboBox(level);
setDialogContent();
//SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
//String date = sdf.format(c.getTime());
//tfDatum.setText(date);
// sp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);;
taKommentar.setLineWrap(true);
//------------------------------------
//Dialogelemente platzieren
//------------------------------------
panelArchiv.add(new JLabel(""));
panelArchiv.add(new JLabel(""));
panelArchiv.add(checkArchiv);
panelArchiv.add(new JLabel(""));
panelArchiv.add(new JLabel(""));
northPanel.add(lbDatum);
northPanel.add(tfDatum);
northPanel.add(lbGruppenBezeichnung);
northPanel.add(tfGruppenBezeichnung);
northPanel.add(lbLevel);
northPanel.add(cbLevel);
northPanel.add(lbDozent);
northPanel.add(cbDozent);
northPanel.add(lbArchiv);
northPanel.add(panelArchiv);
northPanel.add(lbKommentar);
centerPanel.add(sp);
southPanel.add(btnAbbrechen);
southPanel.add(btnSpeichern);
JPanel mainPanel = new JPanel(new BorderLayout(10,10));
mainPanel.add(northPanel,BorderLayout.NORTH);
mainPanel.add(centerPanel,BorderLayout.CENTER);
mainPanel.add(southPanel,BorderLayout.SOUTH);
mainPanel.setBorder(new TitledBorder(new EmptyBorder(5, 5, 5, 5)));
this.setIconImage(img.getImage());
add(mainPanel);
//------------------------------------
//Fenster konfigurieren
//------------------------------------
pack();
//setSize(500, 300);
setDefaultCloseOperation(HIDE_ON_CLOSE);//damit mit close von fenster auch in konsole terminiert wird/Programm ende sonst läufts im hintergrund noch weiter im speicher
setTitle("Englischgruppe ändern");
setLocationRelativeTo(getParent());
setVisible(true); // ist letze anweisung im Konstruktor
}
public void setDialogContent(){
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
tfDatum.setText(sdf.format(g.getG_startdatum())+"");
tfGruppenBezeichnung.setText(g.getGruppen_id()+"");
cbLevel.setSelectedItem(g.getG_level());
cbDozent.setSelectedItem(d.getName());
checkArchiv.setSelected(g.isG_archiv());
// System.out.println("Name set:"+d.getName());
taKommentar.setText(g.getG_text());
}
}//class