package de.hdm.iSchedule.gui;
import java.util.Vector;
import java.awt.BorderLayout;
import java.awt.Color;
import java.rmi.RemoteException;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.SpringLayout;
import de.hdm.iSchedule.data.Dozent;
import de.hdm.iSchedule.data.Lehrveranstaltung;
import de.hdm.iSchedule.data.Studiengang;
public class Dozentformular {
static InterfaceClient ic = new InterfaceClient();
private JComboBox lehrveranstaltung = new JComboBox();
private JComboBox studiengang = new JComboBox();
private JComboBox dozent = new JComboBox();
private JTextField nameText;
public void setDozent(Dozent d) {
if (d!= null) {
try {
nameText.setText(d.getName());
} catch (RemoteException re) {
System.out.println("RemoteException");
System.out.println(re);
}
}
}
void removeDozent() {
nameText.setText("");
}
String getName() {
return nameText.getText();
}
JPanel generateComponents(StundenplanGUI stundenplanGui)
throws RemoteException {
JLabel name = new JLabel("Name", JLabel.TRAILING);
nameText = new JTextField(5);
nameText.setEditable(true);
nameText.setActionCommand("changeName");
nameText.addActionListener(stundenplanGui);
JLabel studienganglbl = new JLabel("Studiengang wählen", JLabel.TRAILING);
/**
* Hier wird die Methode getAllLehrveranstaltung im ClientInterface aufgerufen
* um alle Kategorien aus der DB zu laden
*/
Vector<Studiengang> studiengaenge = ic.getAllStudiengang();
for (Studiengang sg : studiengaenge) {
studiengang.addItem(sg.getStudiengang());
}
studiengang.setVisible(true);
studiengang.setActionCommand("selectStudiengang");
studiengang.addActionListener(stundenplanGui);
JLabel lehrveranstaltunglbl = new JLabel("Lehrveranstaltung wählen", JLabel.TRAILING);
/**
* Hier wird die Methode getAllLehrveranstaltung im ClientInterface aufgerufen
* um alle Kategorien aus der DB zu laden
*/
Vector<Lehrveranstaltung> lehrveranstaltungen = ic.getAllLehrveranstaltungen();
for (Lehrveranstaltung lv : lehrveranstaltungen) {
lehrveranstaltung.addItem(lv.getBezeichnung());
}
lehrveranstaltung.setVisible(true);
lehrveranstaltung.setActionCommand("selectLehrveranstaltung");
lehrveranstaltung.addActionListener(stundenplanGui);
JLabel dozentlbl = new JLabel("Dozent wählen", JLabel.TRAILING);
/**
* Hier wird die Methode getAllLehrveranstaltung im ClientInterface aufgerufen
* um alle Kategorien aus der DB zu laden
*/
Vector<Dozent> dozents = ic.getAllDozenten();
for (Dozent d : dozents) {
dozent.addItem(d.getName());
}
dozent.setVisible(true);
dozent.setActionCommand("selectDozent");
dozent.addActionListener(stundenplanGui);
JPanel fieldsPane = new JPanel(new SpringLayout());
fieldsPane.add(dozentlbl);
fieldsPane.add(dozent);
fieldsPane.add(name);
fieldsPane.add(nameText);
fieldsPane.add(studienganglbl);
fieldsPane.add(studiengang);
fieldsPane.add(lehrveranstaltunglbl);
fieldsPane.add(lehrveranstaltung);
fieldsPane.setLayout(new SpringLayout());
SpringUtilities.makeCompactGrid(fieldsPane, 4, 2,
6, 6,
6, 6);
JButton submit = new JButton("Ändern");
submit.setActionCommand("changeDozent");
submit.addActionListener(stundenplanGui);
JButton delete = new JButton("Löschen");
delete.setActionCommand("deleteDozent");
delete.addActionListener(stundenplanGui);
JButton create = new JButton("Neu");
create.setActionCommand("createDozent");
create.addActionListener(stundenplanGui);
JPanel buttonPane = new JPanel();
buttonPane.add(submit);
buttonPane.add(delete);
buttonPane.add(create);
JPanel pane = new JPanel(new BorderLayout());
pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory
.createEmptyBorder(5, 5, 5, 5), BorderFactory
.createTitledBorder(
BorderFactory.createLineBorder(Color.black), "Dozent")));
pane.add(fieldsPane, BorderLayout.CENTER);
pane.add(buttonPane, BorderLayout.SOUTH);
return pane;
}