package gui.image; import gui.intro.MainMenue_GUI; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.List; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSeparator; import javax.swing.JSpinner; import javax.swing.JTextArea; import javax.swing.JTextPane; import javax.swing.SpinnerNumberModel; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import models.Image; import models.SessionData; import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.thrifthelper.ThriftManager; import util.GuiManager; @SuppressWarnings("serial") public class CreateImageTechnisch_GUI extends JInternalFrame { /** * Logger instance for this class. */ private final static Logger LOGGER = Logger.getLogger(CreateImageTechnisch_GUI.class); private final JPanel contentPanel = new JPanel(); private JSpinner spinnerCPU; private JSpinner spinnerRam; private JCheckBox chckbxIsLicensed; private JCheckBox chckbxIsInternetBlocked; private JComboBox comboBox; public static final String HELP_MESSAGE = "
" + "Geben Sie hier bitte einige technische Daten an, die dann mit dem Image angezeigt werden.
" + "Dies wird beispielsweise benötigt, wenn ein Dozent eine Veranstaltung hat,
" + "die eine hohe Rechnerleistung voraussetzt. Er hat dann die Möglichkeit, sich an diesen Daten zu orientieren und
" + "sie mit den technischen Daten des PC-Pools zu vergleichen." + "
"; /** * Create the dialog. */ public CreateImageTechnisch_GUI() { setResizable(false); setTitle("bwLehrpool Suite - Image erzeugen - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 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 technischer 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 einige technische Daten ein"); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); panel.add(txtpnBitteWhlenSie); } contentPanel.setBounds(10, 85, 577, 531); 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, 36, 557, 166); contentPanel.add(panel_1); panel_1.setLayout(null); JLabel lblInternetIstInnerhalb = new JLabel("Internet ist für dieses Image gesperrt:"); lblInternetIstInnerhalb.setBounds(10, 82, 250, 20); panel_1.add(lblInternetIstInnerhalb); JButton btnInternetSettings = new JButton("Einstellungen..."); btnInternetSettings.setEnabled(false); btnInternetSettings.setBounds(439, 81, 108, 23); panel_1.add(btnInternetSettings); JLabel lblNewLabel_2 = new JLabel("Image enthält lizenzpflichtige Software:"); lblNewLabel_2.setBounds(10, 54, 250, 20); panel_1.add(lblNewLabel_2); chckbxIsLicensed = new JCheckBox(""); chckbxIsLicensed.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //if windows is selected, always set isLicensed()=true if (comboBox.getSelectedItem().toString().startsWith("Windows")) { chckbxIsLicensed.setSelected(true); } } }); chckbxIsLicensed.setSelected(true); chckbxIsLicensed.setBounds(266, 52, 97, 23); panel_1.add(chckbxIsLicensed); chckbxIsInternetBlocked = new JCheckBox(""); chckbxIsInternetBlocked.setSelected(Image.Internet); chckbxIsInternetBlocked.setBounds(266, 80, 97, 23); chckbxIsInternetBlocked.setEnabled(false); panel_1.add(chckbxIsInternetBlocked); JLabel lblLizenzserverEintragen = new JLabel("Lizenzserver eintragen:"); lblLizenzserverEintragen.setBounds(10, 109, 250, 20); panel_1.add(lblLizenzserverEintragen); JButton btnLicenseServer = new JButton("Server-Adresse..."); btnLicenseServer.setEnabled(false); btnLicenseServer.setBounds(266, 108, 157, 23); panel_1.add(btnLicenseServer); JLabel lblBetriebssystem = new JLabel("Betriebssystem:"); lblBetriebssystem.setBounds(10, 21, 250, 20); panel_1.add(lblBetriebssystem); // populate comboBox with list of supported OS we get // from the server ... comboBox = new JComboBox(); comboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //if windows is selected, always set isLicensed()=true if (comboBox.getSelectedItem().toString().startsWith("Windows")) { chckbxIsLicensed.setSelected(true); } } }); List os = null; try { os = ThriftManager.getSatClient().getAllOS(SessionData.authToken); for (int i = 0; i < os.size(); i++) { comboBox.addItem(os.get(i).toString()); } } catch (TException e1) { e1.printStackTrace(); LOGGER.error("Could not fetch list of supported OSs from server!"); } comboBox.setBounds(270, 21, 277, 20); comboBox.setSelectedItem(Image.OS == null ? os.get(0) : Image.OS); panel_1.add(comboBox); 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, 207, 557, 324); contentPanel.add(panel_2); JLabel lblGbyte = new JLabel("GByte"); lblGbyte.setBounds(424, 91, 46, 20); panel_2.add(lblGbyte); spinnerCPU = new JSpinner(); spinnerCPU.setModel(new SpinnerNumberModel(1, 1, 4, 1)); spinnerCPU.setBounds(385, 188, 29, 20); panel_2.add(spinnerCPU); 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); JLabel lblKerne = new JLabel("Kerne"); lblKerne.setBounds(424, 191, 46, 20); panel_2.add(lblKerne); JLabel lblWieVieleCpus = new JLabel("Wie viele CPUs empfehlen Sie für das Image:"); lblWieVieleCpus.setBounds(10, 191, 280, 20); panel_2.add(lblWieVieleCpus); spinnerRam = new JSpinner(); spinnerRam.setModel(new SpinnerNumberModel(1, 1, 8, 1)); spinnerRam.setBounds(385, 88, 29, 20); panel_2.add(spinnerRam); JLabel label_3 = new JLabel("mindestens"); label_3.setBounds(315, 191, 60, 20); panel_2.add(label_3); JLabel lblMindestens = new JLabel("mindestens"); lblMindestens.setBounds(315, 91, 60, 20); panel_2.add(lblMindestens); 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 lblNewLabel_3 = new JLabel("Wie viel Arbeitsspeicher empfehlen Sie für das Image:"); lblNewLabel_3.setBounds(10, 91, 280, 20); panel_2.add(lblNewLabel_3); 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ötigt,\r\nkönnen Sie sich an den Beispielwerten orientieren."); txtrHinweisSolltenSie.setBounds(10, 25, 537, 55); panel_2.add(txtrHinweisSolltenSie); JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { GuiManager.show(new MainMenue_GUI()); } }); 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("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, 155, 14); contentPanel.add(lblNewLabel_1); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 597, 33); buttonPane.setBackground(SystemColor.menu); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); ActionListener saveSettings = new ActionListener() { public void actionPerformed(ActionEvent e) { // werte die angebenen Optionen aus Image.Internet = chckbxIsInternetBlocked.isSelected(); Image.Licensed = chckbxIsLicensed.isSelected(); Image.Vorlage = chckbxIsLicensed.isSelected(); Image.Cpu = Integer.valueOf(spinnerCPU.getValue().toString()).intValue(); Image.Ram = Integer.valueOf(spinnerRam.getValue().toString()).intValue(); Image.OS = comboBox.getSelectedItem().toString(); } }; { JButton cancelButton = new JButton("Zurück"); cancelButton.addActionListener(saveSettings); cancelButton.setActionCommand("OK"); buttonPane.add(cancelButton); GuiManager.show(new CreateImageAllgemein_GUI()); } { JButton continueButton = new JButton("Weiter"); continueButton.addActionListener(saveSettings); continueButton.setActionCommand("Cancel"); buttonPane.add(continueButton); getRootPane().setDefaultButton(continueButton); GuiManager.show(new PermissionCreateImage_GUI()); } } 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); } }