import java.awt.*;
import java.awt.event.*;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import java.util.regex.Pattern;
import javax.security.auth.callback.TextInputCallback;
import javax.swing.plaf.basic.BasicComboBoxUI.ItemHandler;
public class ManagementMenu2 extends Frame implements ItemListener,
ActionListener, TextListener {
boolean AuftragsnummerOK = false;
public String Auftragsnummer;
public String Prio;
public String Verantwortlicher = "";
public String Zieldatum = "";
public String Zieltask;
public String Gruppe;
public String Textbox;
public boolean isGlobal;
GregorianCalendar cal = new GregorianCalendar();
public static void main(String[] args) {
ManagementMenu2 wnd = new ManagementMenu2();
}
public ManagementMenu2() {
super("Prio Management");
addWindowListener(new WindowClosingAdapter(true));
setSize(650, 500);
setResizable(false);
setBackground(Color.lightGray);
setLayout(null);
setVisible(true);
System.out.println("bla");
setMenuBar(new Menuleiste());
// 3 Hauptbuttons unten
Button buttonBestaetigen = new Button("Bestätigen");
buttonBestaetigen.setBounds(30, 450, 100, 25);
buttonBestaetigen.addActionListener(new btnBestaetigen());
add(buttonBestaetigen);
Button buttonAbbrechen = new Button("Abbrechen");
buttonAbbrechen.setBounds(140, 450, 100, 25);
add(buttonAbbrechen);
Button buttonLöschen = new Button("Löschen");
buttonLöschen.setBounds(250, 450, 100, 25);
add(buttonLöschen);
// Auftragsnummer
TextField tf = new TextField("Auftragsnummer", 20);
tf.addTextListener(new CheckAuftragsnummer(this));
tf.setBounds(25, 80, 110, 22);
add(tf);
// Selektion Priorität
Choice ChoicePrio = new Choice();
ChoicePrio.addItemListener(new ListenerPriorität());
ChoicePrio.add("Keine Prio");
ChoicePrio.add("Prio 1");
ChoicePrio.add("Prio 2");
ChoicePrio.add("Prio 3");
ChoicePrio.setBounds(30, 150, 100, 25);
add(ChoicePrio);
// Verantwortlicher
Choice ChoiceVerantwortl = new Choice();
ChoiceVerantwortl.addItemListener(new ListenerVerantwortlicher());
ChoiceVerantwortl.add("User 1");
ChoiceVerantwortl.add("User 2");
ChoiceVerantwortl.add("User 3");
ChoiceVerantwortl.setBounds(140, 150, 150, 25);
add(ChoiceVerantwortl);
// ZielDatum
int xPos = 180;
int yPos = 170;
// TAG
Choice ChoiceZieldatumTag = new Choice();
// ChoiceZieldatumTag.addItemListener(new ListenerZielTag());
for (int i = 1; i < 32; i++) {
ChoiceZieldatumTag.add(String.valueOf(i));
}
ChoiceZieldatumTag.select(cal.get(cal.DAY_OF_MONTH) - 1);
ChoiceZieldatumTag.setBounds(xPos, yPos, 40, 25);
add(ChoiceZieldatumTag);
// MONAT
Choice ChoiceZieldatumMonat = new Choice();
// ChoiceZieldatumMonat.addItemListener(new ListenerZielMonat())
ChoiceZieldatumMonat.add("Jänner");
ChoiceZieldatumMonat.add("Februar");
ChoiceZieldatumMonat.add("März");
ChoiceZieldatumMonat.add("April");
ChoiceZieldatumMonat.add("Mai");
ChoiceZieldatumMonat.add("Juni");
ChoiceZieldatumMonat.add("Juli");
ChoiceZieldatumMonat.add("August");
ChoiceZieldatumMonat.add("September");
ChoiceZieldatumMonat.add("Oktober");
ChoiceZieldatumMonat.add("November");
ChoiceZieldatumMonat.add("Dezember");
ChoiceZieldatumMonat.select(cal.get(cal.MONTH));
ChoiceZieldatumMonat.setBounds(xPos + 45, yPos, 90, 25);
add(ChoiceZieldatumMonat);
// JAHR
Choice ChoiceZieldatumJahr = new Choice();
// ChoiceZieldatumJahr.addItemListener(ListenerZielJahr);
for (int i = cal.get(cal.YEAR); i < cal.get(cal.YEAR) + 5; i++) {
ChoiceZieldatumJahr.add(String.valueOf(i));
}
ChoiceZieldatumJahr.setBounds(xPos + 140, yPos, 60, 25);
add(ChoiceZieldatumJahr);
// Gruppen Selektion
Choice ChoiceGruppe = new Choice();
ChoiceGruppe.addItemListener(new ListenerGruppe());
ChoiceGruppe.add("Keine Gruppe");
ChoiceGruppe.add("IPI");
ChoiceGruppe.add("EFL");
ChoiceGruppe.add("PCA");
ChoiceGruppe.add("REM");
ChoiceGruppe.setBounds(420, 150, 150, 25);
add(ChoiceGruppe);
// Zieltask Selektion
Choice ChoiceZieltask = new Choice();
ChoiceZieltask.addItemListener(new ListenerZieltask());
ChoiceZieltask.add("Kein Zieltask");
ChoiceZieltask.add("Scanning Acoustic Microscopy");
ChoiceZieltask.add("Scanning Electron Microscopy");
ChoiceZieltask.add("Focussed Ion Beam");
ChoiceZieltask.add("Electrical Measurement");
ChoiceZieltask.setBounds(300, 180, 110, 22);
add(ChoiceZieltask);
// Ist die Prio Global?
Checkbox cb = new Checkbox("Global");
cb.setBounds(420, 180, 200, 22);
add(cb);
// Textfeld Hinweise
TextArea ta = new TextArea(10, 40);
ta.addTextListener(new ListenerTxtbx());
ta.setBounds(25, 230, 600, 150);
ta.setText(Textbox);
add(ta);
}
public void paint(Graphics g) {
g.drawString("Priorität", 30, 130);
}
class Menuleiste extends MenuBar {
public Menuleiste() {
Menu m = new Menu("Datei");
m.add(new MenuItem("Optionen"));
m.addSeparator();
m.add(new MenuItem("Beenden"));
add(m);
}
}
class CheckAuftragsnummer implements TextListener {
ManagementMenu2 m;
public CheckAuftragsnummer(ManagementMenu2 m) {
this.m = m;
}
public void textValueChanged(TextEvent event) {
TextField tf = (TextField) event.getSource();
String Text = tf.getText();
Text = Text.toUpperCase();
boolean Patternwert = Text.matches("VI[0-9]{2}[ACPS]1-[0-9]{5}");
System.out.println("Boolean:" + Patternwert);
System.out.println("wert der Textbox:"+Textbox);
if (Patternwert == true) {
AuftragsnummerOK = true;
Auftragsnummer = Text;
//Immer noch ein Problem :-/
m.ta.setText("TestText");
} else {
AuftragsnummerOK = false;
}
}
}
class btnBestaetigen implements ActionListener {
public void actionPerformed(ActionEvent event) {
boolean result = event.getActionCommand().equals("Bestätigen");
if (result == true) {
System.out.println(result);
if (AuftragsnummerOK == true) {
// Bestätigungsaktionen ausführen - DB Einträge setzen
// Checken ob der Jobeintrag in der DB bereits vorhanden ist
// Update
// Wenn kein Eintrag vorhanden ist, String generieren
String InsertString = "INSERT INTO priotabelle (\'Auftragsnummer\', \'Prioritaet\', \'Verantwortlicher\', \'Zieldatum\', \'ZielGruppe\', \'Zieltask\', \'IstGlobal\', \'InfoText\')";
InsertString += "VALUES (\'" + Auftragsnummer + "\', \'"
+ Prio + "\', \'" + Verantwortlicher + "\',\'"
+ Zieldatum + "\', \'" + Gruppe + "\',\'"
+ Zieltask + "\', \'" + isGlobal + "\',\'"
+ Textbox + "\')";
System.out.println(InsertString);
}
}
}
}
class ListenerPriorität implements ItemListener {
public void itemStateChanged(ItemEvent event) {
System.out.println(event.getItem());
Prio = event.getItem().toString();
}
}
class ListenerVerantwortlicher implements ItemListener {
public void itemStateChanged(ItemEvent event) {
System.out.println(event.getItem());
Verantwortlicher = event.getItem().toString();
}
}
class ListenerZieltask implements ItemListener {
public void itemStateChanged(ItemEvent event) {
System.out.println(event.getItem());
Zieltask = event.getItem().toString();
}
}
class ListenerGruppe implements ItemListener {
public void itemStateChanged(ItemEvent event) {
System.out.println(event.getItem());
Gruppe = event.getItem().toString();
}
}
class ListenerTxtbx implements TextListener {
public void textValueChanged(TextEvent event) {
TextArea ta = (TextArea) event.getSource();
Textbox = ta.getText();
System.out.println(ta.getText());
}
}
class ListenerZielDatum implements TextListener {
public void textValueChanged(TextEvent event) {
TextArea ta = (TextArea) event.getSource();
Zieldatum = ta.getText();
System.out.println(ta.getText());
}
}
}