package gui.image; import gui.intro.MainMenue_GUI; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Map; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JSeparator; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import org.apache.thrift.TException; import models.Image; import models.person; import server.Server.Client; import thrift.ThriftConnection; @SuppressWarnings("serial") public class EditImageAllgemein_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; private JTextField Vorname; private JTextField Nachname; private JTextField Hochschule; private JTextField EMail; private JTextField imagename; ThriftConnection con=new ThriftConnection(); Client client=con.getThriftConnection(); private JPanel panel_2; private JLabel lblNewLabel; private JTextPane txtpnBitteWhlenSie; private JPanel buttonPane; private JButton backButton; private JButton okButton; /** * Create the dialog. */ public EditImageAllgemein_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { //Beendet die Anwendung bei einem Klick auf das X con.closeThriftConnection(); System.exit(0); } }); //Verhindert das vergrößern des Fensters setResizable(false); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); } //Setzt den Fenstertitel setTitle("bwLehrpool Suite *Prototyp* - Image bearbeiten"); //Zentriert das Fenster in der Bildmitte Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int top=(screenSize.height - 722) / 2; int left=(screenSize.width - 603) / 2; setBounds(left, top, 603, 722); initData(); getContentPane().setLayout(null); { panel_2 = new JPanel(); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(10, 11, 577, 57); getContentPane().add(panel_2); panel_2.setLayout(null); { lblNewLabel = new JLabel("Bearbeiten Ihrer Daten"); lblNewLabel.setBounds(10, 11, 509, 22); panel_2.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); } txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); txtpnBitteWhlenSie.setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an"); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); panel_2.add(txtpnBitteWhlenSie); } contentPanel.setBounds(10, 85, 577, 493); contentPanel.setBackground(SystemColor.menu); 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.setBounds(10, 66, 557, 369); contentPanel.add(panel_1); panel_1.setLayout(null); JLabel label = new JLabel("Vorname: *"); label.setBackground(SystemColor.menu); label.setBounds(10, 245, 125, 20); panel_1.add(label); Vorname = new JTextField(); Vorname.setEditable(false); Vorname.setEnabled(false); Vorname.setBackground(Color.WHITE); Vorname.setText(person.verantwortlicher.getVorname()); Vorname.setColumns(10); Vorname.setBounds(145, 245, 350, 20); panel_1.add(Vorname); JLabel label_7 = new JLabel("Nachname: *"); label_7.setBackground(SystemColor.menu); label_7.setBounds(10, 276, 125, 20); panel_1.add(label_7); Nachname = new JTextField(); Nachname.setEnabled(false); Nachname.setEditable(false); Nachname.setBackground(Color.WHITE); Nachname.setText(person.verantwortlicher.getName()); Nachname.setColumns(10); Nachname.setBounds(145, 276, 350, 20); panel_1.add(Nachname); JLabel label_8 = new JLabel("Hochschule: *"); label_8.setBackground(SystemColor.menu); label_8.setBounds(10, 307, 125, 20); panel_1.add(label_8); Hochschule = new JTextField(); Hochschule.setEnabled(false); Hochschule.setEditable(false); Hochschule.setBackground(Color.WHITE); Hochschule.setText(person.verantwortlicher.getHochschule()); Hochschule.setColumns(10); Hochschule.setBounds(145, 307, 350, 20); panel_1.add(Hochschule); JLabel label_9 = new JLabel("E-Mail: *"); label_9.setBackground(SystemColor.menu); label_9.setBounds(10, 338, 125, 20); panel_1.add(label_9); EMail = new JTextField(); EMail.setEnabled(false); EMail.setEditable(false); EMail.setBackground(Color.WHITE); EMail.setText(person.verantwortlicher.getEMail()); EMail.setColumns(10); EMail.setBounds(145, 338, 350, 20); panel_1.add(EMail); JLabel lblImagename = new JLabel("Imagename: *"); lblImagename.setBackground(SystemColor.menu); lblImagename.setBounds(10, 31, 125, 20); panel_1.add(lblImagename); imagename = new JTextField(); imagename.setToolTipText("Bitte geben Sie hier den Namen des Image ein, z.B. \"Programmieren\"."); imagename.setBackground(Color.WHITE); imagename.setText(Image.image.getImagename()); imagename.setColumns(10); imagename.setBounds(145, 31, 350, 20); panel_1.add(imagename); JTextArea txtrGebenSieBitte = new JTextArea(); txtrGebenSieBitte.setBackground(SystemColor.menu); txtrGebenSieBitte.setLineWrap(true); txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12)); txtrGebenSieBitte.setText("Geben Sie bitte einen sprechenden Namen f\u00FCr das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\""); txtrGebenSieBitte.setBounds(145, 62, 350, 110); panel_1.add(txtrGebenSieBitte); 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 lblPflichtfelder = new JLabel("* Pflichtfelder"); lblPflichtfelder.setBounds(10, 442, 136, 14); contentPanel.add(lblPflichtfelder); JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { //Durch den Klick auf Button Hauptmenpü wird dieses Fenster unsichtbar und das Hauptmenü sichtbar con.closeThriftConnection(); EditImageAllgemein_GUI.this.setVisible(false); 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("Bearbeiten"); lblNewLabel_1.setBounds(146, 11, 71, 14); contentPanel.add(lblNewLabel_1); { buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 597, 33); buttonPane.setBackground(SystemColor.menu); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); { backButton = new JButton("Zur\u00FCck"); backButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //Setzen der Eingabe im Model, dadurch bleiben die Daten bei einem erneuten Aufruf verfügbar //Image.image.setImagename(imagename.getText()); con.closeThriftConnection(); SearchEditImage_GUI se=new SearchEditImage_GUI(); se.setVisible(true); dispose(); } }); backButton.setActionCommand("CANCEL"); buttonPane.add(backButton); } { okButton = new JButton("Weiter"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //check is textfield has content if(imagename.getText().length() <= 0){ JOptionPane.showMessageDialog(null, "Bitte geben Sie einen Labornamen ein.", "Daten nicht vollständig", JOptionPane.INFORMATION_MESSAGE); } else { Image.image.setNewName(imagename.getText()); con.closeThriftConnection(); EditImageTechnisch_GUI ea=new EditImageTechnisch_GUI(); ea.setVisible(true); dispose(); }//end else } }); okButton.setActionCommand("OK"); buttonPane.add(okButton); getRootPane().setDefaultButton(okButton); } } 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); JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); 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); //setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{getContentPane(), panel_2, lblNewLabel, txtpnBitteWhlenSie, contentPanel, panel_1, label, Vorname, label_7, Nachname, label_8, Hochschule, label_9, EMail, lblImagename, imagename, txtrGebenSieBitte, panel, lblPflichtfelder, lblHauptmen, label_1, lblVlimage, label_2, lblNewLabel_1, buttonPane, backButton, okButton, separator, separator_1, menuBar, mnNewMenu_1, mntmFaq, mntmOtrs})); } public void initData(){ try { Map map=client.getImageData(Image.image.getImageId(),Image.image.getVersion()); if(map.get("internet").equals("0")){ Image.image.setInternet(false); } else { Image.image.setInternet(true); } if(map.get("license").equals("0")){ Image.image.setLicensed(false); } else{ Image.image.setLicensed(true); } Image.image.setImagename(map.get("name")); Image.image.setRam(Integer.parseInt(map.get("ram"))); Image.image.setCpu(Integer.parseInt(map.get("cpu"))); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); JOptionPane.showMessageDialog(null, e.getCause()+"\n"+e.getMessage(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } } }