package 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.HashMap; import java.util.Map; import javax.swing.ButtonGroup; 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.JPanel; import javax.swing.JRadioButton; import javax.swing.JSeparator; import javax.swing.JSpinner; import javax.swing.JTextArea; import javax.swing.JTextPane; import javax.swing.SpinnerNumberModel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import org.apache.thrift.TException; import server.Server.Client; import thrift.ThriftConnection; import models.Image; @SuppressWarnings("serial") public class EditImageTechnisch_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; JSpinner spinnerCPU; JSpinner spinnerRam; JRadioButton rdbtnlicenseJa; JRadioButton rdbtnlicenseNein; JRadioButton rdbtnInternetJa; JRadioButton rdbtnInternetNein; private final ButtonGroup buttonGrouplicense = new ButtonGroup(); private final ButtonGroup buttonGroupInternet = new ButtonGroup(); /** * Create the dialog. */ public EditImageTechnisch_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { //Beendet die Anwendung bei Klick auf das X System.exit(0); } }); //Verhindert das Vergrößern des Fensters setResizable(false); try { //setzt das Look & Feel UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); } //Setzt den Titel des Fensters setTitle("bwLehrpool Suite *Prototyp*"); //Zentriert das Fenster Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int top=(screenSize.height - 722) / 2; int left=(screenSize.width - 603) / 2; setBounds(left, top, 603, 722); getContentPane().setLayout(null); { JPanel panel = new JPanel(); panel.setBackground(SystemColor.menu); panel.setBounds(10, 11, 577, 57); getContentPane().add(panel); panel.setLayout(null); { JLabel lblNewLabel = new JLabel("Eingabe Ihrer Daten"); lblNewLabel.setBounds(10, 11, 509, 22); 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.setBounds(10, 36, 509, 32); panel.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 Image", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBounds(10, 66, 557, 95); contentPanel.add(panel_1); panel_1.setLayout(null); JLabel lblNewLabel_2 = new JLabel("Image enth\u00E4lt lizenzpflichtige Software:"); lblNewLabel_2.setBounds(10, 30, 250, 20); panel_1.add(lblNewLabel_2); rdbtnlicenseJa = new JRadioButton("Ja"); buttonGrouplicense.add(rdbtnlicenseJa); rdbtnlicenseJa.setBounds(266, 29, 109, 23); panel_1.add(rdbtnlicenseJa); rdbtnlicenseNein = new JRadioButton("Nein"); buttonGrouplicense.add(rdbtnlicenseNein); rdbtnlicenseNein.setBounds(377, 29, 109, 23); panel_1.add(rdbtnlicenseNein); if(Image.image.isLicensed()==true){ rdbtnlicenseJa.setSelected(true); } else { rdbtnlicenseNein.setSelected(true); } JLabel lblInternetIstInnerhalb = new JLabel("Internet ist innerhalb des Image gesperrt:"); lblInternetIstInnerhalb.setBounds(10, 58, 250, 20); panel_1.add(lblInternetIstInnerhalb); rdbtnInternetJa = new JRadioButton("Ja"); buttonGroupInternet.add(rdbtnInternetJa); rdbtnInternetJa.setBounds(266, 57, 109, 23); panel_1.add(rdbtnInternetJa); rdbtnInternetNein = new JRadioButton("Nein"); rdbtnInternetNein.setSelected(true); buttonGroupInternet.add(rdbtnInternetNein); rdbtnInternetNein.setBounds(377, 57, 109, 23); panel_1.add(rdbtnInternetNein); if(Image.image.isInternet()==true){ rdbtnInternetJa.setSelected(true); } else { rdbtnInternetNein.setSelected(true); } JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { //Macht dieses Fenster unsichtbar und das vorhergehende Fenster sichtbar EditImageTechnisch_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("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, "Empfehlung bezüglich Ressourcen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(10, 172, 557, 338); contentPanel.add(panel_2); JTextArea txtrHinweisSolltenSie = new JTextArea(); txtrHinweisSolltenSie.setBackground(SystemColor.menu); txtrHinweisSolltenSie.setFont(new Font("Tahoma", Font.PLAIN, 13)); txtrHinweisSolltenSie.setText("Hinweis: Sollten Sie keine Software einsetzen, die viele Ressourcen ben\u00F6tigt,\r\nk\u00F6nnen Sie sich an den Beispielwerten orientieren."); txtrHinweisSolltenSie.setBounds(10, 25, 537, 55); panel_2.add(txtrHinweisSolltenSie); JLabel lblNewLabel_3 = new JLabel("Wie viel Arbeitsspeicher empfehlen Sie f\u00FCr das Image:"); lblNewLabel_3.setBounds(10, 91, 280, 20); panel_2.add(lblNewLabel_3); JLabel lblMindestens = new JLabel("mindestens"); lblMindestens.setBounds(315, 91, 60, 20); panel_2.add(lblMindestens); spinnerRam = new JSpinner(); spinnerRam.setModel(new SpinnerNumberModel(1, 1, 8, 1)); spinnerRam.setBounds(385, 88, 29, 20); spinnerRam.setValue(Image.image.getRam()); panel_2.add(spinnerRam); JLabel lblGbyte = new JLabel("GByte"); lblGbyte.setBounds(424, 91, 46, 20); panel_2.add(lblGbyte); JTextArea txtrBeispielWindows = new JTextArea(); txtrBeispielWindows.setText("Beispiel:\r\nWindows 7 32/64 Bit: 2 GByte\r\nLinux/Unix 32/64 Bit: 1 GByte"); txtrBeispielWindows.setFont(new Font("Tahoma", Font.PLAIN, 11)); txtrBeispielWindows.setBackground(SystemColor.menu); txtrBeispielWindows.setBounds(10, 122, 280, 55); panel_2.add(txtrBeispielWindows); JTextArea txtrBeispielWindows_1 = new JTextArea(); txtrBeispielWindows_1.setText("Beispiel:\r\nWindows 7 32/64 Bit: 1 Kern\r\nLinux/Unix 32/64 Bit: 1 Kern"); txtrBeispielWindows_1.setFont(new Font("Tahoma", Font.PLAIN, 11)); txtrBeispielWindows_1.setBackground(SystemColor.menu); txtrBeispielWindows_1.setBounds(10, 222, 280, 55); panel_2.add(txtrBeispielWindows_1); JLabel lblWieVieleCpus = new JLabel("Wie viele CPUs empfehlen Sie f\u00FCr das Image:"); lblWieVieleCpus.setBounds(10, 191, 280, 20); panel_2.add(lblWieVieleCpus); JLabel label_3 = new JLabel("mindestens"); label_3.setBounds(315, 191, 60, 20); panel_2.add(label_3); spinnerCPU = new JSpinner(); spinnerCPU.setModel(new SpinnerNumberModel(1, 1, 4, 1)); spinnerCPU.setBounds(385, 188, 29, 20); spinnerCPU.setValue(Image.image.getCpu()); panel_2.add(spinnerCPU); JLabel lblKerne = new JLabel("Kerne"); lblKerne.setBounds(424, 191, 46, 20); panel_2.add(lblKerne); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 597, 33); buttonPane.setBackground(SystemColor.menu); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); { JButton okButton = new JButton("Zur\u00FCck"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //Setzt die Imagewerte in das Model Image.image.setCpu(Integer.valueOf(spinnerCPU.getValue().toString()).intValue()); Image.image.setRam(Integer.valueOf(spinnerRam.getValue().toString()).intValue()); if(rdbtnInternetJa.isSelected()==true) { Image.image.setInternet(true); } else { Image.image.setInternet(false); } if(rdbtnlicenseJa.isSelected()==true) { Image.image.setLicensed(true); } else { Image.image.setLicensed(false); } //Öffnet das vorherige Fenster EingabeImageAllgemein_GUI sr=new EingabeImageAllgemein_GUI(); sr.setVisible(true); dispose(); } }); okButton.setActionCommand("OK"); buttonPane.add(okButton); getRootPane().setDefaultButton(okButton); } { JButton cancelButton = new JButton("Weiter"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Image.image.setCpu(Integer.valueOf(spinnerCPU.getValue().toString()).intValue()); Image.image.setRam(Integer.valueOf(spinnerRam.getValue().toString()).intValue()); if(rdbtnInternetJa.isSelected()==true) { Image.image.setInternet(true); } else { Image.image.setInternet(false); } if(rdbtnlicenseJa.isSelected()==true) { Image.image.setLicensed(true); } else { Image.image.setLicensed(false); } //Öffnet das nächste Fenster FTPEditUploader_GUI ea=new FTPEditUploader_GUI(); ea.setVisible(true); dispose(); } }); cancelButton.setActionCommand("Cancel"); buttonPane.add(cancelButton); } } 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); } }