diff options
author | unknown | 2014-04-04 11:58:26 +0200 |
---|---|---|
committer | unknown | 2014-04-04 11:58:26 +0200 |
commit | 5a1064c6102ed248ca702691ea4993f916944e95 (patch) | |
tree | 368c62c904954489f9c449717f7c964343933ae2 /Dozentenmodul | |
parent | test (diff) | |
parent | Sämtliche Bugs behoben (diff) | |
download | tutor-module-5a1064c6102ed248ca702691ea4993f916944e95.tar.gz tutor-module-5a1064c6102ed248ca702691ea4993f916944e95.tar.xz tutor-module-5a1064c6102ed248ca702691ea4993f916944e95.zip |
Merge branch 'master' of git.openslx.org:openslx-ng/tutor-module
Conflicts:
Dozentenmodul/src/gui/EditVeranstaltungAllgemein_GUI.java
Diffstat (limited to 'Dozentenmodul')
17 files changed, 403 insertions, 221 deletions
diff --git a/Dozentenmodul/.settings/org.eclipse.core.resources.prefs b/Dozentenmodul/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..49b9df2a --- /dev/null +++ b/Dozentenmodul/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding//src/gui/EditVeranstaltungAllgemein_GUI.java=UTF-8 diff --git a/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$1.class b/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$1.class Binary files differindex 66724cc7..95158b5d 100644 --- a/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$1.class +++ b/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$1.class diff --git a/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$2.class b/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$2.class Binary files differindex 0d944566..8015544b 100644 --- a/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$2.class +++ b/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$2.class diff --git a/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$3.class b/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$3.class Binary files differindex 799086ff..4796831e 100644 --- a/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$3.class +++ b/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$3.class diff --git a/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$4.class b/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$4.class Binary files differindex 6085dec2..287ba784 100644 --- a/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$4.class +++ b/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI$4.class diff --git a/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI.class b/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI.class Binary files differindex f6a2c80d..87239abd 100644 --- a/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI.class +++ b/Dozentenmodul/bin/GUI/EingabeVeranstaltungAllgemein_GUI.class diff --git a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$1.class b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$1.class Binary files differindex 66724cc7..95158b5d 100644 --- a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$1.class +++ b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$1.class diff --git a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$2.class b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$2.class Binary files differindex 0d944566..8015544b 100644 --- a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$2.class +++ b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$2.class diff --git a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$3.class b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$3.class Binary files differindex 799086ff..4796831e 100644 --- a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$3.class +++ b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$3.class diff --git a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$4.class b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$4.class Binary files differindex 6085dec2..287ba784 100644 --- a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$4.class +++ b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$4.class diff --git a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$5.class b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$5.class Binary files differnew file mode 100644 index 00000000..34db5dc5 --- /dev/null +++ b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$5.class diff --git a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$6.class b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$6.class Binary files differnew file mode 100644 index 00000000..382a27cf --- /dev/null +++ b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI$6.class diff --git a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI.class b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI.class Binary files differindex f6a2c80d..87239abd 100644 --- a/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI.class +++ b/Dozentenmodul/bin/gui/EingabeVeranstaltungAllgemein_GUI.class diff --git a/Dozentenmodul/bin/org.eclipse.core.resources.prefs b/Dozentenmodul/bin/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..49b9df2a --- /dev/null +++ b/Dozentenmodul/bin/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding//src/gui/EditVeranstaltungAllgemein_GUI.java=UTF-8 diff --git a/Dozentenmodul/src/GUI/EingabeVeranstaltungAllgemein_GUI.java b/Dozentenmodul/src/GUI/EingabeVeranstaltungAllgemein_GUI.java index 0946b6df..f550c2b9 100644 --- a/Dozentenmodul/src/GUI/EingabeVeranstaltungAllgemein_GUI.java +++ b/Dozentenmodul/src/GUI/EingabeVeranstaltungAllgemein_GUI.java @@ -1,6 +1,5 @@ package gui; - import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; @@ -13,7 +12,6 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; - import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; @@ -30,16 +28,17 @@ import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; - import models.Image; import models.Lecture; import models.person; import javax.swing.JTextArea; import java.awt.ScrollPane; +import java.util.Calendar; +import java.util.Date; + import com.toedter.calendar.JDateChooser; import javax.swing.JRadioButton; - @SuppressWarnings("serial") public class EingabeVeranstaltungAllgemein_GUI extends JFrame { @@ -49,12 +48,21 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { private JTextField Nachname; private JTextField Hochschule; private JTextField EMail; - private JTextField textFieldLaborname; + private JTextField txtFldVeranstaltungsname; JTextArea description; JRadioButton radioButtonyes; + JRadioButton radioButtonno; JDateChooser dateChooserend; JDateChooser dateChooserstart; + Date startDate = new Date(); + Date endDate; + int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft + // aktiv sein darf + boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect, + isAllInformationReady = false; + + /** * Launch the application. */ @@ -77,9 +85,14 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { public void windowClosing(WindowEvent arg0) { System.exit(0); } + + @Override + public void windowOpened(WindowEvent arg0) { + txtFldVeranstaltungsname.requestFocusInWindow(); + } }); setResizable(false); - + try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException @@ -89,10 +102,10 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { } setTitle("bwLehrpool Suite *Prototyp*"); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - int top=(screenSize.height - 722) / 2; - int left=(screenSize.width - 603) / 2; + int top = (screenSize.height - 722) / 2; + int left = (screenSize.width - 603) / 2; setBounds(left, top, 603, 722); - //setBounds(100, 100, 603, 722); + // setBounds(100, 100, 603, 722); getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -106,11 +119,12 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); } - + JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie.setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); + txtpnBitteWhlenSie + .setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); txtpnBitteWhlenSie.setBounds(10, 36, 509, 21); panel.add(txtpnBitteWhlenSie); } @@ -119,19 +133,20 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel); contentPanel.setLayout(null); - + JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBounds(10, 331, 557, 162); contentPanel.add(panel_1); panel_1.setLayout(null); - + JLabel label = new JLabel("Vorname: *"); label.setBackground(SystemColor.menu); label.setBounds(10, 33, 125, 20); panel_1.add(label); - + Vorname = new JTextField(); Vorname.setEditable(false); Vorname.setEnabled(false); @@ -140,12 +155,12 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { Vorname.setColumns(10); Vorname.setBounds(145, 33, 350, 20); panel_1.add(Vorname); - + JLabel label_7 = new JLabel("Nachname: *"); label_7.setBackground(SystemColor.menu); label_7.setBounds(10, 64, 125, 20); panel_1.add(label_7); - + Nachname = new JTextField(); Nachname.setEnabled(false); Nachname.setEditable(false); @@ -154,12 +169,12 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { Nachname.setColumns(10); Nachname.setBounds(145, 64, 350, 20); panel_1.add(Nachname); - + JLabel label_8 = new JLabel("Hochschule: *"); label_8.setBackground(SystemColor.menu); label_8.setBounds(10, 95, 125, 20); panel_1.add(label_8); - + Hochschule = new JTextField(); Hochschule.setEnabled(false); Hochschule.setEditable(false); @@ -168,12 +183,12 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { Hochschule.setColumns(10); Hochschule.setBounds(145, 95, 350, 20); panel_1.add(Hochschule); - + JLabel label_9 = new JLabel("E-Mail: *"); label_9.setBackground(SystemColor.menu); label_9.setBounds(10, 126, 125, 20); panel_1.add(label_9); - + EMail = new JTextField(); EMail.setEnabled(false); EMail.setEditable(false); @@ -182,62 +197,64 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { EMail.setColumns(10); EMail.setBounds(145, 126, 350, 20); panel_1.add(EMail); - + JPanel panel = new JPanel(); panel.setBounds(10, 402, 577, 33); contentPanel.add(panel); panel.setLayout(null); panel.setBorder(new EmptyBorder(5, 5, 5, 5)); panel.setBackground(SystemColor.menu); - + JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - + EingabeVeranstaltungAllgemein_GUI.this.setVisible(false); - MainMenue_GUI main=new MainMenue_GUI(); + MainMenue_GUI main = new MainMenue_GUI(); main.setVisible(true); } }); lblHauptmen.setForeground(Color.BLUE); lblHauptmen.setBounds(10, 11, 61, 14); contentPanel.add(lblHauptmen); - + JLabel label_1 = new JLabel(">"); label_1.setBounds(69, 11, 13, 14); contentPanel.add(label_1); - + JLabel lblVlimage = new JLabel("VL-Image"); lblVlimage.setForeground(Color.BLUE); lblVlimage.setBounds(81, 11, 45, 14); contentPanel.add(lblVlimage); - + JLabel label_2 = new JLabel(">"); label_2.setBounds(133, 11, 13, 14); contentPanel.add(label_2); - + JLabel lblNewLabel_1 = new JLabel("Neu"); lblNewLabel_1.setBounds(146, 11, 46, 14); contentPanel.add(lblNewLabel_1); - + JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Veranstaltungsdaten", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, "Veranstaltungsdaten", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(10, 36, 557, 284); contentPanel.add(panel_2); - + JLabel label_3 = new JLabel("Laborname (Anzeigename): *"); label_3.setBounds(10, 25, 180, 14); panel_2.add(label_3); - - textFieldLaborname = new JTextField(); - textFieldLaborname.setColumns(10); - textFieldLaborname.setBounds(200, 22, 347, 20); - panel_2.add(textFieldLaborname); - + + txtFldVeranstaltungsname = new JTextField(); + txtFldVeranstaltungsname.setColumns(10); + txtFldVeranstaltungsname.setBounds(200, 22, 347, 20); + panel_2.add(txtFldVeranstaltungsname); + JTextArea textArea = new JTextArea(); + textArea.setEditable(false); textArea.setWrapStyleWord(true); textArea.setText("Geben Sie bitte einen sprechenden Namen f\u00FCr das Image an. Dieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\""); textArea.setLineWrap(true); @@ -245,57 +262,78 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { textArea.setBackground(SystemColor.menu); textArea.setBounds(10, 49, 537, 49); panel_2.add(textArea); - - JLabel label_4 = new JLabel("Kurzbeschreibung: *"); - label_4.setBounds(10, 111, 180, 14); - panel_2.add(label_4); - + + JLabel lblDesc = new JLabel("Beschreibung: *"); + lblDesc.setBounds(10, 111, 180, 14); + panel_2.add(lblDesc); + ScrollPane scrollPane = new ScrollPane(); scrollPane.setBounds(200, 104, 347, 78); panel_2.add(scrollPane); description = new JTextArea(); + description.setFont(new Font("Tahoma", Font.PLAIN, 11)); description.setLineWrap(true); scrollPane.add(description); description.setBounds(0, 0, 4, 22); scrollPane.add(description); - + dateChooserend = new JDateChooser(); - dateChooserend.setDateFormatString("dd.MM.yyyy hh:mm:ss"); - dateChooserend.setBounds(385, 188, 100, 20); + endDate = addDays(new Date(), maxLifeTime); // Datum darf weiter als 6 + // Monate in der Zukunft + // liegen + dateChooserend.setDate(endDate); + dateChooserend.setDateFormatString("yyyy-MM-dd hh:mm:ss"); + dateChooserend.setBounds(404, 188, 143, 20); panel_2.add(dateChooserend); - - JLabel label_5 = new JLabel("bis"); - label_5.setBounds(351, 188, 24, 20); - panel_2.add(label_5); - + + JLabel lblBis = new JLabel("bis:"); + lblBis.setBounds(378, 188, 21, 20); + panel_2.add(lblBis); + dateChooserstart = new JDateChooser(); + dateChooserstart.setDate(startDate); dateChooserstart.setDateFormatString("yyyy-MM-dd hh:mm:ss"); - dateChooserstart.setBounds(240, 188, 101, 20); + + dateChooserstart.setBounds(226, 188, 143, 20); panel_2.add(dateChooserstart); - + JLabel label_6 = new JLabel("von:"); label_6.setBounds(200, 188, 30, 20); panel_2.add(label_6); - + JLabel label_10 = new JLabel("G\u00FCltigkeitsdatum: *"); label_10.setBounds(10, 188, 250, 14); panel_2.add(label_10); - + JLabel label_11 = new JLabel("Aktiv:"); - label_11.setBounds(10, 229, 250, 14); + label_11.setBounds(10, 229, 127, 14); panel_2.add(label_11); - + + + radioButtonyes = new JRadioButton("Ja"); radioButtonyes.setSelected(true); - radioButtonyes.setBounds(240, 225, 109, 23); + radioButtonyes.setBounds(200, 225, 73, 23); panel_2.add(radioButtonyes); - - JRadioButton radioButtonno = new JRadioButton("Nein"); - radioButtonno.setBounds(385, 225, 109, 23); + + radioButtonno = new JRadioButton("Nein"); + radioButtonyes.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + radioButtonyes.setSelected(true); + radioButtonno.setSelected(false); + } + }); + radioButtonno.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + radioButtonno.setSelected(true); + radioButtonyes.setSelected(false); + } + }); + radioButtonno.setBounds(296, 225, 73, 23); panel_2.add(radioButtonno); - + JLabel label_12 = new JLabel("(Im VMChooser sichtbar)"); - label_12.setBounds(10, 254, 250, 14); + label_12.setBounds(10, 254, 127, 14); panel_2.add(label_12); { JPanel buttonPane = new JPanel(); @@ -304,94 +342,145 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); { - JButton okButton = new JButton("Zur\u00FCck"); - okButton.addActionListener(new ActionListener() { + JButton backButton = new JButton("Zur\u00FCck"); + backButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - if(radioButtonyes.isSelected()==true) - { + if (radioButtonyes.isSelected() == true) { Lecture.lecture.setActive(true); - } - else - { + } else { Lecture.lecture.setActive(false); } - - Lecture.lecture.setName(textFieldLaborname.getText()); + + Lecture.lecture.setName(txtFldVeranstaltungsname + .getText()); Lecture.lecture.setDesc(description.getText()); Lecture.lecture.setEnddate(dateChooserend.getDate()); Lecture.lecture.setStartdate(dateChooserstart.getDate()); - Image.image.setImagename(textFieldLaborname.getText()); - - MainMenue_GUI sr=new MainMenue_GUI(); + Image.image.setImagename(txtFldVeranstaltungsname + .getText()); + + MainMenue_GUI sr = new MainMenue_GUI(); sr.setVisible(true); dispose(); } }); - okButton.setActionCommand("OK"); - buttonPane.add(okButton); - getRootPane().setDefaultButton(okButton); + backButton.setActionCommand("Cancel"); + buttonPane.add(backButton); + getRootPane().setDefaultButton(backButton); } { - JButton cancelButton = new JButton("Weiter"); - cancelButton.addActionListener(new ActionListener() { + JButton continueButton = new JButton("Weiter"); + continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - if(radioButtonyes.isSelected()==true) - { - Lecture.lecture.setActive(true); + // liegt das End-Datum vor dem Start-Datum? + if (dateChooserend.getDate().before( + dateChooserstart.getDate())) { + // datum ist falsch rum + isDateOrderCorrect = false; + JOptionPane + .showMessageDialog( + null, + "Das End-Datum liegt vor dem Start-Datum. Bitte ändern.", + "Datum fehlerhaft", + JOptionPane.ERROR_MESSAGE); + } else { + // bereit + isDateOrderCorrect = true; } - else - { + // liegt das eingegebene Datum nach dem erlaubten + // End-Datum? + if (dateChooserend.getDate().after(endDate)) { + // Datum zu weit weg + isDateMaxLifeTimeCorrect = false; + JOptionPane.showMessageDialog(null, + "Das End-Datum liegt zu weit in der Zukunft. Erlaubt ist maximal:\n" + + endDate, "Datum fehlerhaft", + JOptionPane.ERROR_MESSAGE); + } else { + // bereit + isDateMaxLifeTimeCorrect = true; + } + // Prüfen ob alles eingegeben wurde + if (txtFldVeranstaltungsname.getText().isEmpty() == true + || description.getText().isEmpty() == true) { + // mind 1 Textfeld ist leer + isAllInformationReady = false; + JOptionPane.showMessageDialog(null, + "Bitte geben Sie einen Veranstaltungsnamen und eine Beschreibung ein.", "Datum fehlerhaft", + JOptionPane.ERROR_MESSAGE); + } else { + // Textfelder bereit + isAllInformationReady = true; + } + + //welcher Radiobutton ist geklickt? + if (radioButtonyes.isSelected() == true) { + Lecture.lecture.setActive(true); + } else { Lecture.lecture.setActive(false); } - - Lecture.lecture.setName(textFieldLaborname.getText()); - Lecture.lecture.setDesc(description.getText()); - Lecture.lecture.setEnddate(dateChooserend.getDate()); - Lecture.lecture.setStartdate(dateChooserstart.getDate()); - Image.image.setImagename(textFieldLaborname.getText()); - - MainMenue_GUI sr=new MainMenue_GUI(); - sr.setVisible(true); - dispose(); - LinkImage_GUI ev=new LinkImage_GUI(); - ev.setVisible(true); - dispose(); + //Prüfe ob alle Eingaben korrekt sind, dann mache weiter + if (isAllInformationReady == true + && isDateMaxLifeTimeCorrect == true + && isDateOrderCorrect == true) { + // everything is ok, proceed + Lecture.lecture.setName(txtFldVeranstaltungsname + .getText()); + Lecture.lecture.setDesc(description.getText()); + Lecture.lecture.setEnddate(dateChooserend.getDate()); + Lecture.lecture.setStartdate(dateChooserstart + .getDate()); + Image.image.setImagename(txtFldVeranstaltungsname + .getText()); + + LinkImage_GUI ev = new LinkImage_GUI(); + ev.setVisible(true); + dispose(); + } + } }); - cancelButton.setActionCommand("Cancel"); - buttonPane.add(cancelButton); + continueButton.setActionCommand("OK"); + buttonPane.add(continueButton); } } - + JSeparator separator = new JSeparator(); separator.setBounds(0, 78, 597, 2); getContentPane().add(separator); - + JSeparator separator_1 = new JSeparator(); separator_1.setBounds(0, 627, 597, 2); getContentPane().add(separator_1); - + JLabel lblPflichtfelder = new JLabel("* Pflichtfelder"); lblPflichtfelder.setBounds(32, 602, 136, 14); getContentPane().add(lblPflichtfelder); - + JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); - + JMenu mnNewMenu = new JMenu("Suchen"); menuBar.add(mnNewMenu); - + JMenuItem mntmVlSuche = new JMenuItem("VL Suche"); mnNewMenu.add(mntmVlSuche); - + JMenu mnNewMenu_1 = new JMenu("Hilfe"); menuBar.add(mnNewMenu_1); - + JMenuItem mntmFaq = new JMenuItem("FAQ"); mnNewMenu_1.add(mntmFaq); - + JMenuItem mntmOtrs = new JMenuItem("OTRS"); mnNewMenu_1.add(mntmOtrs); - + + } + + public Date addDays(Date date, int days) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.DATE, days); // minus number would decrement the days + return cal.getTime(); } } diff --git a/Dozentenmodul/src/gui/EditVeranstaltungAllgemein_GUI.java b/Dozentenmodul/src/gui/EditVeranstaltungAllgemein_GUI.java index e4f1ca67..c6be7580 100644 --- a/Dozentenmodul/src/gui/EditVeranstaltungAllgemein_GUI.java +++ b/Dozentenmodul/src/gui/EditVeranstaltungAllgemein_GUI.java @@ -408,4 +408,4 @@ public class EditVeranstaltungAllgemein_GUI extends JFrame { } -} +}
\ No newline at end of file diff --git a/Dozentenmodul/src/gui/EingabeVeranstaltungAllgemein_GUI.java b/Dozentenmodul/src/gui/EingabeVeranstaltungAllgemein_GUI.java index 0946b6df..f550c2b9 100644 --- a/Dozentenmodul/src/gui/EingabeVeranstaltungAllgemein_GUI.java +++ b/Dozentenmodul/src/gui/EingabeVeranstaltungAllgemein_GUI.java @@ -1,6 +1,5 @@ package gui; - import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; @@ -13,7 +12,6 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; - import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; @@ -30,16 +28,17 @@ import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; - import models.Image; import models.Lecture; import models.person; import javax.swing.JTextArea; import java.awt.ScrollPane; +import java.util.Calendar; +import java.util.Date; + import com.toedter.calendar.JDateChooser; import javax.swing.JRadioButton; - @SuppressWarnings("serial") public class EingabeVeranstaltungAllgemein_GUI extends JFrame { @@ -49,12 +48,21 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { private JTextField Nachname; private JTextField Hochschule; private JTextField EMail; - private JTextField textFieldLaborname; + private JTextField txtFldVeranstaltungsname; JTextArea description; JRadioButton radioButtonyes; + JRadioButton radioButtonno; JDateChooser dateChooserend; JDateChooser dateChooserstart; + Date startDate = new Date(); + Date endDate; + int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft + // aktiv sein darf + boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect, + isAllInformationReady = false; + + /** * Launch the application. */ @@ -77,9 +85,14 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { public void windowClosing(WindowEvent arg0) { System.exit(0); } + + @Override + public void windowOpened(WindowEvent arg0) { + txtFldVeranstaltungsname.requestFocusInWindow(); + } }); setResizable(false); - + try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException @@ -89,10 +102,10 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { } setTitle("bwLehrpool Suite *Prototyp*"); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - int top=(screenSize.height - 722) / 2; - int left=(screenSize.width - 603) / 2; + int top = (screenSize.height - 722) / 2; + int left = (screenSize.width - 603) / 2; setBounds(left, top, 603, 722); - //setBounds(100, 100, 603, 722); + // setBounds(100, 100, 603, 722); getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -106,11 +119,12 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); } - + JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie.setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); + txtpnBitteWhlenSie + .setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); txtpnBitteWhlenSie.setBounds(10, 36, 509, 21); panel.add(txtpnBitteWhlenSie); } @@ -119,19 +133,20 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel); contentPanel.setLayout(null); - + JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBounds(10, 331, 557, 162); contentPanel.add(panel_1); panel_1.setLayout(null); - + JLabel label = new JLabel("Vorname: *"); label.setBackground(SystemColor.menu); label.setBounds(10, 33, 125, 20); panel_1.add(label); - + Vorname = new JTextField(); Vorname.setEditable(false); Vorname.setEnabled(false); @@ -140,12 +155,12 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { Vorname.setColumns(10); Vorname.setBounds(145, 33, 350, 20); panel_1.add(Vorname); - + JLabel label_7 = new JLabel("Nachname: *"); label_7.setBackground(SystemColor.menu); label_7.setBounds(10, 64, 125, 20); panel_1.add(label_7); - + Nachname = new JTextField(); Nachname.setEnabled(false); Nachname.setEditable(false); @@ -154,12 +169,12 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { Nachname.setColumns(10); Nachname.setBounds(145, 64, 350, 20); panel_1.add(Nachname); - + JLabel label_8 = new JLabel("Hochschule: *"); label_8.setBackground(SystemColor.menu); label_8.setBounds(10, 95, 125, 20); panel_1.add(label_8); - + Hochschule = new JTextField(); Hochschule.setEnabled(false); Hochschule.setEditable(false); @@ -168,12 +183,12 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { Hochschule.setColumns(10); Hochschule.setBounds(145, 95, 350, 20); panel_1.add(Hochschule); - + JLabel label_9 = new JLabel("E-Mail: *"); label_9.setBackground(SystemColor.menu); label_9.setBounds(10, 126, 125, 20); panel_1.add(label_9); - + EMail = new JTextField(); EMail.setEnabled(false); EMail.setEditable(false); @@ -182,62 +197,64 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { EMail.setColumns(10); EMail.setBounds(145, 126, 350, 20); panel_1.add(EMail); - + JPanel panel = new JPanel(); panel.setBounds(10, 402, 577, 33); contentPanel.add(panel); panel.setLayout(null); panel.setBorder(new EmptyBorder(5, 5, 5, 5)); panel.setBackground(SystemColor.menu); - + JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - + EingabeVeranstaltungAllgemein_GUI.this.setVisible(false); - MainMenue_GUI main=new MainMenue_GUI(); + MainMenue_GUI main = new MainMenue_GUI(); main.setVisible(true); } }); lblHauptmen.setForeground(Color.BLUE); lblHauptmen.setBounds(10, 11, 61, 14); contentPanel.add(lblHauptmen); - + JLabel label_1 = new JLabel(">"); label_1.setBounds(69, 11, 13, 14); contentPanel.add(label_1); - + JLabel lblVlimage = new JLabel("VL-Image"); lblVlimage.setForeground(Color.BLUE); lblVlimage.setBounds(81, 11, 45, 14); contentPanel.add(lblVlimage); - + JLabel label_2 = new JLabel(">"); label_2.setBounds(133, 11, 13, 14); contentPanel.add(label_2); - + JLabel lblNewLabel_1 = new JLabel("Neu"); lblNewLabel_1.setBounds(146, 11, 46, 14); contentPanel.add(lblNewLabel_1); - + JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Veranstaltungsdaten", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, "Veranstaltungsdaten", + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(10, 36, 557, 284); contentPanel.add(panel_2); - + JLabel label_3 = new JLabel("Laborname (Anzeigename): *"); label_3.setBounds(10, 25, 180, 14); panel_2.add(label_3); - - textFieldLaborname = new JTextField(); - textFieldLaborname.setColumns(10); - textFieldLaborname.setBounds(200, 22, 347, 20); - panel_2.add(textFieldLaborname); - + + txtFldVeranstaltungsname = new JTextField(); + txtFldVeranstaltungsname.setColumns(10); + txtFldVeranstaltungsname.setBounds(200, 22, 347, 20); + panel_2.add(txtFldVeranstaltungsname); + JTextArea textArea = new JTextArea(); + textArea.setEditable(false); textArea.setWrapStyleWord(true); textArea.setText("Geben Sie bitte einen sprechenden Namen f\u00FCr das Image an. Dieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\""); textArea.setLineWrap(true); @@ -245,57 +262,78 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { textArea.setBackground(SystemColor.menu); textArea.setBounds(10, 49, 537, 49); panel_2.add(textArea); - - JLabel label_4 = new JLabel("Kurzbeschreibung: *"); - label_4.setBounds(10, 111, 180, 14); - panel_2.add(label_4); - + + JLabel lblDesc = new JLabel("Beschreibung: *"); + lblDesc.setBounds(10, 111, 180, 14); + panel_2.add(lblDesc); + ScrollPane scrollPane = new ScrollPane(); scrollPane.setBounds(200, 104, 347, 78); panel_2.add(scrollPane); description = new JTextArea(); + description.setFont(new Font("Tahoma", Font.PLAIN, 11)); description.setLineWrap(true); scrollPane.add(description); description.setBounds(0, 0, 4, 22); scrollPane.add(description); - + dateChooserend = new JDateChooser(); - dateChooserend.setDateFormatString("dd.MM.yyyy hh:mm:ss"); - dateChooserend.setBounds(385, 188, 100, 20); + endDate = addDays(new Date(), maxLifeTime); // Datum darf weiter als 6 + // Monate in der Zukunft + // liegen + dateChooserend.setDate(endDate); + dateChooserend.setDateFormatString("yyyy-MM-dd hh:mm:ss"); + dateChooserend.setBounds(404, 188, 143, 20); panel_2.add(dateChooserend); - - JLabel label_5 = new JLabel("bis"); - label_5.setBounds(351, 188, 24, 20); - panel_2.add(label_5); - + + JLabel lblBis = new JLabel("bis:"); + lblBis.setBounds(378, 188, 21, 20); + panel_2.add(lblBis); + dateChooserstart = new JDateChooser(); + dateChooserstart.setDate(startDate); dateChooserstart.setDateFormatString("yyyy-MM-dd hh:mm:ss"); - dateChooserstart.setBounds(240, 188, 101, 20); + + dateChooserstart.setBounds(226, 188, 143, 20); panel_2.add(dateChooserstart); - + JLabel label_6 = new JLabel("von:"); label_6.setBounds(200, 188, 30, 20); panel_2.add(label_6); - + JLabel label_10 = new JLabel("G\u00FCltigkeitsdatum: *"); label_10.setBounds(10, 188, 250, 14); panel_2.add(label_10); - + JLabel label_11 = new JLabel("Aktiv:"); - label_11.setBounds(10, 229, 250, 14); + label_11.setBounds(10, 229, 127, 14); panel_2.add(label_11); - + + + radioButtonyes = new JRadioButton("Ja"); radioButtonyes.setSelected(true); - radioButtonyes.setBounds(240, 225, 109, 23); + radioButtonyes.setBounds(200, 225, 73, 23); panel_2.add(radioButtonyes); - - JRadioButton radioButtonno = new JRadioButton("Nein"); - radioButtonno.setBounds(385, 225, 109, 23); + + radioButtonno = new JRadioButton("Nein"); + radioButtonyes.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + radioButtonyes.setSelected(true); + radioButtonno.setSelected(false); + } + }); + radioButtonno.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + radioButtonno.setSelected(true); + radioButtonyes.setSelected(false); + } + }); + radioButtonno.setBounds(296, 225, 73, 23); panel_2.add(radioButtonno); - + JLabel label_12 = new JLabel("(Im VMChooser sichtbar)"); - label_12.setBounds(10, 254, 250, 14); + label_12.setBounds(10, 254, 127, 14); panel_2.add(label_12); { JPanel buttonPane = new JPanel(); @@ -304,94 +342,145 @@ public class EingabeVeranstaltungAllgemein_GUI extends JFrame { buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); { - JButton okButton = new JButton("Zur\u00FCck"); - okButton.addActionListener(new ActionListener() { + JButton backButton = new JButton("Zur\u00FCck"); + backButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - if(radioButtonyes.isSelected()==true) - { + if (radioButtonyes.isSelected() == true) { Lecture.lecture.setActive(true); - } - else - { + } else { Lecture.lecture.setActive(false); } - - Lecture.lecture.setName(textFieldLaborname.getText()); + + Lecture.lecture.setName(txtFldVeranstaltungsname + .getText()); Lecture.lecture.setDesc(description.getText()); Lecture.lecture.setEnddate(dateChooserend.getDate()); Lecture.lecture.setStartdate(dateChooserstart.getDate()); - Image.image.setImagename(textFieldLaborname.getText()); - - MainMenue_GUI sr=new MainMenue_GUI(); + Image.image.setImagename(txtFldVeranstaltungsname + .getText()); + + MainMenue_GUI sr = new MainMenue_GUI(); sr.setVisible(true); dispose(); } }); - okButton.setActionCommand("OK"); - buttonPane.add(okButton); - getRootPane().setDefaultButton(okButton); + backButton.setActionCommand("Cancel"); + buttonPane.add(backButton); + getRootPane().setDefaultButton(backButton); } { - JButton cancelButton = new JButton("Weiter"); - cancelButton.addActionListener(new ActionListener() { + JButton continueButton = new JButton("Weiter"); + continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - if(radioButtonyes.isSelected()==true) - { - Lecture.lecture.setActive(true); + // liegt das End-Datum vor dem Start-Datum? + if (dateChooserend.getDate().before( + dateChooserstart.getDate())) { + // datum ist falsch rum + isDateOrderCorrect = false; + JOptionPane + .showMessageDialog( + null, + "Das End-Datum liegt vor dem Start-Datum. Bitte ändern.", + "Datum fehlerhaft", + JOptionPane.ERROR_MESSAGE); + } else { + // bereit + isDateOrderCorrect = true; } - else - { + // liegt das eingegebene Datum nach dem erlaubten + // End-Datum? + if (dateChooserend.getDate().after(endDate)) { + // Datum zu weit weg + isDateMaxLifeTimeCorrect = false; + JOptionPane.showMessageDialog(null, + "Das End-Datum liegt zu weit in der Zukunft. Erlaubt ist maximal:\n" + + endDate, "Datum fehlerhaft", + JOptionPane.ERROR_MESSAGE); + } else { + // bereit + isDateMaxLifeTimeCorrect = true; + } + // Prüfen ob alles eingegeben wurde + if (txtFldVeranstaltungsname.getText().isEmpty() == true + || description.getText().isEmpty() == true) { + // mind 1 Textfeld ist leer + isAllInformationReady = false; + JOptionPane.showMessageDialog(null, + "Bitte geben Sie einen Veranstaltungsnamen und eine Beschreibung ein.", "Datum fehlerhaft", + JOptionPane.ERROR_MESSAGE); + } else { + // Textfelder bereit + isAllInformationReady = true; + } + + //welcher Radiobutton ist geklickt? + if (radioButtonyes.isSelected() == true) { + Lecture.lecture.setActive(true); + } else { Lecture.lecture.setActive(false); } - - Lecture.lecture.setName(textFieldLaborname.getText()); - Lecture.lecture.setDesc(description.getText()); - Lecture.lecture.setEnddate(dateChooserend.getDate()); - Lecture.lecture.setStartdate(dateChooserstart.getDate()); - Image.image.setImagename(textFieldLaborname.getText()); - - MainMenue_GUI sr=new MainMenue_GUI(); - sr.setVisible(true); - dispose(); - LinkImage_GUI ev=new LinkImage_GUI(); - ev.setVisible(true); - dispose(); + //Prüfe ob alle Eingaben korrekt sind, dann mache weiter + if (isAllInformationReady == true + && isDateMaxLifeTimeCorrect == true + && isDateOrderCorrect == true) { + // everything is ok, proceed + Lecture.lecture.setName(txtFldVeranstaltungsname + .getText()); + Lecture.lecture.setDesc(description.getText()); + Lecture.lecture.setEnddate(dateChooserend.getDate()); + Lecture.lecture.setStartdate(dateChooserstart + .getDate()); + Image.image.setImagename(txtFldVeranstaltungsname + .getText()); + + LinkImage_GUI ev = new LinkImage_GUI(); + ev.setVisible(true); + dispose(); + } + } }); - cancelButton.setActionCommand("Cancel"); - buttonPane.add(cancelButton); + continueButton.setActionCommand("OK"); + buttonPane.add(continueButton); } } - + JSeparator separator = new JSeparator(); separator.setBounds(0, 78, 597, 2); getContentPane().add(separator); - + JSeparator separator_1 = new JSeparator(); separator_1.setBounds(0, 627, 597, 2); getContentPane().add(separator_1); - + JLabel lblPflichtfelder = new JLabel("* Pflichtfelder"); lblPflichtfelder.setBounds(32, 602, 136, 14); getContentPane().add(lblPflichtfelder); - + JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); - + JMenu mnNewMenu = new JMenu("Suchen"); menuBar.add(mnNewMenu); - + JMenuItem mntmVlSuche = new JMenuItem("VL Suche"); mnNewMenu.add(mntmVlSuche); - + JMenu mnNewMenu_1 = new JMenu("Hilfe"); menuBar.add(mnNewMenu_1); - + JMenuItem mntmFaq = new JMenuItem("FAQ"); mnNewMenu_1.add(mntmFaq); - + JMenuItem mntmOtrs = new JMenuItem("OTRS"); mnNewMenu_1.add(mntmOtrs); - + + } + + public Date addDays(Date date, int days) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.DATE, days); // minus number would decrement the days + return cal.getTime(); } } |