package gui; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import java.awt.Color; import javax.swing.JLabel; import java.awt.Font; import javax.swing.JTextPane; import java.awt.SystemColor; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JSeparator; import javax.swing.JRadioButton; import javax.swing.SwingConstants; import javax.swing.ButtonGroup; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.ToolTipManager; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.border.TitledBorder; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.ScrollPane; import javax.swing.JTextArea; import javax.swing.ImageIcon; @SuppressWarnings("serial") public class MainMenue_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; String descNewImage, descEditImage, descDeleteImage, descSearchImage, descNewLecture, descEditLecture, descDeleteLecture, descSearchLecture = ""; JRadioButton rdbtnImageNew; JRadioButton rdbtnImageEdit; JRadioButton rdbtnImageSearchDownload; JRadioButton rdbtnVeranstaltungNew; JRadioButton rdbtnImageDelete; JRadioButton rdbtnVeranstaltungEdit; private final ButtonGroup buttonGroup = new ButtonGroup(); /** * Launch the application. */ public static void main(String[] args) { try { MainMenue_GUI dialog = new MainMenue_GUI(); dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { e.printStackTrace(); } }// end main /** * Create the dialog. */ public MainMenue_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { System.exit(0); } }); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); } setTitle("bwLehrpool Suite *Prototyp*"); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int top = (screenSize.height - 722) / 2; int left = (screenSize.width - 603) / 2; setBounds(left, top, 603, 722); // setBounds(100, 100, 545, 366); getContentPane().setLayout(null); { JPanel panel = new JPanel(); panel.setBackground(SystemColor.menu); panel.setBounds(10, 11, 567, 69); getContentPane().add(panel); panel.setLayout(null); { JLabel lblNewLabel = new JLabel("Hauptmen\u00FC"); 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("Bitte w\u00E4hlen Sie ihre gew\u00FCnschte Aktion."); txtpnBitteWhlenSie.setBounds(10, 36, 509, 22); panel.add(txtpnBitteWhlenSie); } contentPanel.setBounds(10, 104, 567, 502); contentPanel.setBackground(SystemColor.menu); contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel); contentPanel.setLayout(null); JPanel panelImage = new JPanel(); panelImage.setBackground(SystemColor.menu); panelImage.setBorder(new TitledBorder(null, "VL-Image", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panelImage.setBounds(10, 146, 270, 170); contentPanel.add(panelImage); panelImage.setLayout(null); rdbtnImageNew = new JRadioButton("Neu"); rdbtnImageNew .setToolTipText("Hier k\u00F6nnen Sie eine standard Laborvorlage downloaden"); rdbtnImageNew.setBounds(6, 22, 159, 23); panelImage.add(rdbtnImageNew); rdbtnImageNew.setSelected(true); buttonGroup.add(rdbtnImageNew); rdbtnImageNew.setBackground(SystemColor.menu); rdbtnImageEdit = new JRadioButton("Bearbeiten"); rdbtnImageEdit .setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); rdbtnImageEdit.setBounds(6, 48, 185, 23); panelImage.add(rdbtnImageEdit); buttonGroup.add(rdbtnImageEdit); rdbtnImageEdit.setHorizontalAlignment(SwingConstants.LEFT); rdbtnImageEdit.setBackground(SystemColor.menu); rdbtnImageDelete = new JRadioButton("L\u00F6schen"); rdbtnImageDelete.setEnabled(false); buttonGroup.add(rdbtnImageDelete); rdbtnImageDelete .setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); rdbtnImageDelete.setHorizontalAlignment(SwingConstants.LEFT); rdbtnImageDelete.setBackground(SystemColor.menu); rdbtnImageDelete.setBounds(6, 74, 185, 23); panelImage.add(rdbtnImageDelete); rdbtnImageSearchDownload = new JRadioButton("Suche und Download"); rdbtnImageSearchDownload.setEnabled(false); buttonGroup.add(rdbtnImageSearchDownload); rdbtnImageSearchDownload .setToolTipText("Hier k\u00F6nnen Sie ein bestehendes Labor zum ver\u00E4ndern downloaden"); rdbtnImageSearchDownload.setHorizontalAlignment(SwingConstants.LEFT); rdbtnImageSearchDownload.setBackground(SystemColor.menu); rdbtnImageSearchDownload.setBounds(6, 100, 185, 23); panelImage.add(rdbtnImageSearchDownload); JPanel panelDesc = new JPanel(); panelDesc.setLayout(null); panelDesc.setBorder(new TitledBorder(UIManager .getBorder("TitledBorder.border"), "Erklärung", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panelDesc.setBackground(SystemColor.menu); panelDesc.setBounds(290, 146, 270, 170); contentPanel.add(panelDesc); ScrollPane scrollPaneDesc = new ScrollPane(); scrollPaneDesc.setBounds(10, 15, 250, 145); final JTextArea txtDesc = new JTextArea(); txtDesc.setLineWrap(true); txtDesc.setWrapStyleWord(true); txtDesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); txtDesc.setBackground(SystemColor.menu); scrollPaneDesc.add(txtDesc); // Pro AUswahl txtDesc.setText("Legen Sie ein neues Image an und laden Sie anschließend die passende .vmdk-Datei hoch. Voraussetzung für Veranstaltung."); panelDesc.add(scrollPaneDesc); JPanel panelVeranstaltung = new JPanel(); panelVeranstaltung.setLayout(null); panelVeranstaltung.setBorder(new TitledBorder(UIManager .getBorder("TitledBorder.border"), "Veranstaltung (VMChooser)", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panelVeranstaltung.setBackground(SystemColor.menu); panelVeranstaltung.setBounds(10, 327, 270, 170); contentPanel.add(panelVeranstaltung); rdbtnVeranstaltungNew = new JRadioButton("Neu"); buttonGroup.add(rdbtnVeranstaltungNew); rdbtnVeranstaltungNew .setToolTipText("Hier k\u00F6nnen Sie Ihre Labordaten eingeben"); rdbtnVeranstaltungNew.setBounds(6, 24, 185, 23); panelVeranstaltung.add(rdbtnVeranstaltungNew); rdbtnVeranstaltungNew.setBackground(SystemColor.menu); rdbtnVeranstaltungEdit = new JRadioButton("Bearbeiten"); rdbtnVeranstaltungEdit .setToolTipText("Hier k\u00F6nnen Sie einen Link auf ein bestehendes Labor erzeugen"); rdbtnVeranstaltungEdit.setBounds(6, 50, 230, 23); panelVeranstaltung.add(rdbtnVeranstaltungEdit); buttonGroup.add(rdbtnVeranstaltungEdit); rdbtnVeranstaltungEdit.setBackground(SystemColor.menu); JRadioButton rdbtnVeranstaltungDelete = new JRadioButton("L\u00F6schen"); rdbtnVeranstaltungDelete.setEnabled(false); rdbtnVeranstaltungDelete .setToolTipText("Hier k\u00F6nnen Sie ein Labor l\u00F6schen"); rdbtnVeranstaltungDelete.setBounds(6, 76, 175, 23); panelVeranstaltung.add(rdbtnVeranstaltungDelete); buttonGroup.add(rdbtnVeranstaltungDelete); rdbtnVeranstaltungDelete.setBackground(SystemColor.menu); JRadioButton rdbtnVeranstaltungSearch = new JRadioButton("Suche"); rdbtnVeranstaltungSearch.setEnabled(false); buttonGroup.add(rdbtnVeranstaltungSearch); rdbtnVeranstaltungSearch .setToolTipText("Hier k\u00F6nnen Sie ein Labor l\u00F6schen"); rdbtnVeranstaltungSearch.setBackground(SystemColor.menu); rdbtnVeranstaltungSearch.setBounds(6, 102, 175, 23); panelVeranstaltung.add(rdbtnVeranstaltungSearch); JLabel lblCrumbStart = new JLabel("Startseite"); lblCrumbStart.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { Login_GUI lw = new Login_GUI(); lw.setVisible(true); MainMenue_GUI.this.setVisible(false); } }); lblCrumbStart.setForeground(Color.BLUE); lblCrumbStart.setBounds(10, 0, 52, 14); contentPanel.add(lblCrumbStart); JLabel label = new JLabel(">"); label.setBounds(60, 0, 13, 14); contentPanel.add(label); JLabel lblRechtshinweis = new JLabel("Rechtshinweis"); lblRechtshinweis.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { BillOfRights_GUI rb = new BillOfRights_GUI(); rb.setVisible(true); MainMenue_GUI.this.setVisible(false); } }); lblRechtshinweis.setForeground(Color.BLUE); lblRechtshinweis.setBounds(72, 0, 68, 14); contentPanel.add(lblRechtshinweis); JLabel label_1 = new JLabel(">"); label_1.setBounds(142, 0, 13, 14); contentPanel.add(label_1); JLabel lblNewLabel_1 = new JLabel("Hauptmen\u00FC"); lblNewLabel_1.setBounds(150, 0, 74, 14); contentPanel.add(lblNewLabel_1); JPanel panelNews = new JPanel(); panelNews.setLayout(null); panelNews.setBorder(new TitledBorder(UIManager .getBorder("TitledBorder.border"), "News", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panelNews.setBackground(SystemColor.menu); panelNews.setBounds(290, 327, 270, 170); contentPanel.add(panelNews); ScrollPane scrollPaneNews = new ScrollPane(); // scrollPaneDesc.setBounds(10, 15, 250, 145); scrollPaneNews.setBounds(10, 15, 250, 145); JTextArea txtNews = new JTextArea(); txtNews.setFont(new Font("Tahoma", Font.PLAIN, 11)); txtNews.setBackground(SystemColor.menu); txtNews.setWrapStyleWord(true); txtNews.setLineWrap(true); txtNews.setText("Hier werden mal die Neuigkeiten stehen. Diese kommen direkt vom Satelliten, sind als HS-spezifisch :)"); scrollPaneNews.add(txtNews); panelNews.add(scrollPaneNews); /* * Funktion Texte für das Klicken der RadioButtons */ rdbtnImageNew.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { descNewImage="Legen Sie ein neues Image an und laden Sie anschließend die passende .vmdk-Datei hoch. Voraussetzung für Veranstaltung."; txtDesc.setText(descNewImage); } }); rdbtnImageEdit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { descEditImage="Bearbeiten Sie die hinterlegten Informationen zu einem Image oder laden Sie eine neue .vmdk-Datei hoch."; txtDesc.setText(descEditImage); } }); rdbtnImageDelete.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { descDeleteImage="Suchen Sie alte und nicht mehr benötigte Images und löschen Sie diese."; txtDesc.setText(descDeleteImage); } }); rdbtnImageSearchDownload.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { descSearchImage="Suchen Sie nach bestimmten Images oder verschaffen Sie sich einen Überblick über alle verfügbaren Images. Sie können gewünschte umgehend herunterladen."; txtDesc.setText(descSearchImage); } }); rdbtnVeranstaltungNew.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { descNewLecture="Legen Sie eine neue Veranstaltung an und verknüpfen Sie diese mit einem bereits vorhandenem Image."; txtDesc.setText(descNewLecture); } }); rdbtnVeranstaltungEdit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { descEditLecture="Bearbeiten Sie die hinterlegten Informationen zu einer Veranstaltung."; txtDesc.setText(descEditLecture); } }); rdbtnVeranstaltungDelete.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { descDeleteLecture="Suchen und löschen Sie eine Veranstaltung. Das hiermit verbundene Image bleibt erhalten."; } }); rdbtnVeranstaltungSearch.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { descSearchLecture="Suchen Sie nach bestimmten Veranstaltungen oder verschaffen Sie sich einen Überblick über alle verfügbaren Veranstaltungen."; txtDesc.setText(descSearchLecture); } }); /* * Ende der Radiobuttons */ JLabel lblGrafik = new JLabel(""); // ToolTipp für Grafik lblGrafik .setToolTipText("" + "Ein virtuelles Labor besteht immer aus den beiden Komponenten
" + "Image und Veranstaltung. Ein Image ist dabei die Grundlage f\u00FCr
" + "mehrere Veranstaltungen. Somit kann eine neue Veranstaltung
" + "erstellt werden, ohne ein neues Image hochladen zu m\u00FCssen.


" + "Image: Das Image enth\u00E4lt die ben\u00F6tigte Software, die im
" + "virtuellen Labor ben\u00F6tigt wird. Es wird von genau einem Dozenten
" + "angelegt und besitzt einen allgemeinen Namen, z.B. \"Programmieren\".


" + "Veranstaltung: Es k\u00F6nnen nun, basierend auf einem Image,
" + " beliebig viele Veranstaltungen von unterschiedlichen Dozenten erstellt
" + "werden. Diese k\u00F6nnten z.B. konkret \"Web-Entwicklung\" oder \"K\u00FCnstliche
" + "Intelligenz\" lauten und referenzieren dabei auf das allgemeine Image
" + "\"Programmieren\"."); lblGrafik.setIcon(new ImageIcon(MainMenue_GUI.class .getResource("/gui/Image zu Veranstaltung_gr\u00FCn.png"))); // ToolTipp lange anzeigen - 60sec ToolTipManager.sharedInstance().setDismissDelay(60000); ToolTipManager.sharedInstance().registerComponent(lblGrafik); lblGrafik.setBounds(82, 11, 391, 110); contentPanel.add(lblGrafik); JTextPane txtpnUmDetaillierteInformationen = new JTextPane(); txtpnUmDetaillierteInformationen .setText("Um detaillierte Informationen zu erhalten, fahren Sie bitte mit der Maus \u00FCber die Grafik."); txtpnUmDetaillierteInformationen.setEditable(false); txtpnUmDetaillierteInformationen.setBackground(SystemColor.menu); txtpnUmDetaillierteInformationen.setBounds(10, 113, 509, 22); contentPanel.add(txtpnUmDetaillierteInformationen); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 630, 587, 33); buttonPane.setBackground(SystemColor.menu); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); { JButton cancelButton = new JButton("Weiter"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (rdbtnImageNew.isSelected() == true) { EingabeImageAllgemein_GUI sr = new EingabeImageAllgemein_GUI(); sr.setVisible(true); dispose(); } else if (rdbtnImageEdit.isSelected() == true) { SearchEditImage_GUI si = new SearchEditImage_GUI(); si.setVisible(true); dispose(); } else if (rdbtnImageSearchDownload.isSelected() == true) { SearchMethod_GUI sm = new SearchMethod_GUI(); sm.setVisible(true); dispose(); } else if (rdbtnImageDelete.isSelected() == true) { DeleteImage_GUI di = new DeleteImage_GUI(); di.setVisible(true); dispose(); } else if (rdbtnVeranstaltungNew.isSelected() == true) { EingabeVeranstaltungAllgemein_GUI av = new EingabeVeranstaltungAllgemein_GUI(); av.setVisible(true); dispose(); } else if (rdbtnVeranstaltungEdit.isSelected() == true) { EditVeranstaltungAllgemein_GUI ev = new EditVeranstaltungAllgemein_GUI(); ev.setVisible(true); dispose(); } } }); cancelButton.setActionCommand("Cancel"); buttonPane.add(cancelButton); } } { JSeparator separator = new JSeparator(); separator.setBounds(0, 617, 587, 2); getContentPane().add(separator); } { JSeparator separator = new JSeparator(); separator.setBounds(0, 91, 587, 2); getContentPane().add(separator); } 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); }//end main }//end class