package gui.image; import gui.intro.About_GUI; import gui.intro.MainMenue_GUI; import java.awt.Checkbox; import java.awt.Color; import java.awt.Component; 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.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import javax.swing.AbstractButton; import javax.swing.ButtonGroup; import javax.swing.DefaultComboBoxModel; import javax.swing.Icon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; 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.JSeparator; import javax.swing.JTextPane; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; import models.Image; import models.Links; import util.GuiOrganizer; import util.OpenLinks; import javax.swing.JTable; import javax.swing.JScrollPane; import javax.swing.ScrollPaneConstants; import javax.swing.JTextField; import org.eclipse.jface.viewers.CheckboxCellEditor; import java.awt.Choice; @SuppressWarnings("serial") public class PermissionEditImage_GUI extends JFrame { private final JPanel contentPanel = new JPanel(); String[] result; private JTable table; private Class[] classes; Object[] titles = { "Name", "Read", "Write", "Link allowed","Admin"}; final DefaultTableModel model = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { if (mColIndex >= 1) { return true; } return false; } public Class getColumnClass(int c) { switch (c) { case 0: return String.class; default: return Boolean.class; } } }; private JTextField textField; private JLabel lblLinkAllowed; private JLabel label_5; private JLabel label_6; private JLabel label_7; public PermissionEditImage_GUI() { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { System.exit(0); } }); setResizable(false); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); } setTitle("bwLehrpool Suite - Image erzeugen"); setBounds(0, 0, 603, 722); GuiOrganizer.centerGUI(this); 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( "Image Berechtigungen (Nur zur Veranschaulichung)"); 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("Definieren Sie hier bitte die gew\u00FCnschten Berechtigungen f\u00FCr Ihr Image"); 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, "Berechtigungen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBounds(10, 228, 557, 292); contentPanel.add(panel_1); panel_1.setLayout(null); JScrollPane scrollPane = new JScrollPane(); scrollPane .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setBounds(10, 21, 537, 260); panel_1.add(scrollPane); table = new JTable(); table.setModel(model); table.setSelectionForeground(Color.WHITE); Object[] rowdata = { "Max Mustermann", new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false) }; model.addRow(rowdata); TableCellRenderer rend = table.getTableHeader().getDefaultRenderer(); TableColumn tc1 = table.getColumnModel().getColumn(1); tc1.setCellEditor(table.getDefaultEditor(Boolean.class)); tc1.setCellRenderer(table.getDefaultRenderer(Boolean.class)); tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(), (String) titles[1])); TableColumn tc2 = table.getColumnModel().getColumn(2); tc2.setCellEditor(table.getDefaultEditor(Boolean.class)); tc2.setCellRenderer(table.getDefaultRenderer(Boolean.class)); tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(), (String) titles[2])); TableColumn tc3 = table.getColumnModel().getColumn(3); tc3.setCellEditor(table.getDefaultEditor(Boolean.class)); tc3.setCellRenderer(table.getDefaultRenderer(Boolean.class)); tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(), (String) titles[3])); TableColumn tc4 = table.getColumnModel().getColumn(4); tc4.setCellEditor(table.getDefaultEditor(Boolean.class)); tc4.setCellRenderer(table.getDefaultRenderer(Boolean.class)); tc4.setHeaderRenderer(new CheckBoxHeader(new MyItemListener4(), (String) titles[4])); /* TableColumn tc5 = table.getColumnModel().getColumn(5); tc5.setCellEditor(table.getDefaultEditor(Boolean.class)); tc5.setCellRenderer(table.getDefaultRenderer(Boolean.class)); tc5.setHeaderRenderer(new CheckBoxHeader(new MyItemListener5(), (String) titles[5])); */ scrollPane.setViewportView(table); JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { PermissionEditImage_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("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("Berechtigung"); lblNewLabel_1.setBounds(146, 11, 80, 14); contentPanel.add(lblNewLabel_1); JLabel lblName = new JLabel("Name:"); lblName.setBounds(10, 36, 46, 20); contentPanel.add(lblName); textField = new JTextField(); textField.setBounds(69, 36, 171, 20); contentPanel.add(textField); textField.setColumns(10); JLabel lblHochschule = new JLabel("Hochschule:"); lblHochschule.setBounds(275, 36, 80, 20); contentPanel.add(lblHochschule); JComboBox comboBox = new JComboBox(); comboBox.setModel(new DefaultComboBoxModel(new String[] { "Hochschule Offenburg", "Hochschule Reutlingen", "Universit\u00E4t Freiburg" })); comboBox.setBounds(365, 36, 202, 20); contentPanel.add(comboBox); JPanel panel = new JPanel(); panel.setBounds(10, 67, 557, 150); contentPanel.add(panel); panel.setLayout(null); panel.setBorder(new TitledBorder(null, "Beschreibung", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel.setBackground(SystemColor.menu); JLabel label = new JLabel("Read"); label.setBounds(20, 18, 90, 20); panel.add(label); JLabel label_3 = new JLabel("Write"); label_3.setBounds(20, 38, 90, 20); panel.add(label_3); JLabel lblImageLesenUnd = new JLabel( "Image lesen und starten, in Suchfenster und VMchooser sichtbar."); lblImageLesenUnd.setBounds(120, 18, 380, 20); panel.add(lblImageLesenUnd); JLabel lblImageAnpassenUnd = new JLabel( "Image anpassen und \u00DCberschrieben, jedoch nicht l\u00F6schen."); lblImageAnpassenUnd.setBounds(120, 38, 380, 20); panel.add(lblImageAnpassenUnd); lblLinkAllowed = new JLabel("Link"); lblLinkAllowed.setBounds(20, 58, 90, 20); panel.add(lblLinkAllowed); label_5 = new JLabel("Admin"); label_5.setBounds(20, 78, 90, 20); panel.add(label_5); label_6 = new JLabel("Erzeugung einer Veranstaltung auf ein Image ist erlaubt."); label_6.setBounds(120, 58, 380, 20); panel.add(label_6); label_7 = new JLabel("Volle Rechte: read, write, l\u00F6schen, Link_allowed und
Berechtigungen f\u00FCr andere Benutzer festlegen."); label_7.setBounds(120, 78, 380, 40); panel.add(label_7); JLabel label_4 = new JLabel("F\u00FCr alle sichtbar"); label_4.setBounds(20, 120, 90, 20); panel.add(label_4); JCheckBox checkBox = new JCheckBox(""); checkBox.setBounds(115, 120, 21, 23); panel.add(checkBox); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 597, 33); buttonPane.setBackground(SystemColor.menu); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); { JButton cancelButton = new JButton("Zur\u00FCck"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { EditImageFreigabe_GUI sr = new EditImageFreigabe_GUI(); sr.setVisible(true); dispose(); } }); cancelButton.setActionCommand("OK"); buttonPane.add(cancelButton); // getRootPane().setDefaultButton(cancelButton); } { JButton continueButton = new JButton("Weiter"); continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { FTPEditUploader_GUI ea = new FTPEditUploader_GUI(); ea.setVisible(true); dispose(); } }); continueButton.setActionCommand("Cancel"); buttonPane.add(continueButton); getRootPane().setDefaultButton(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); JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); JMenu mnNewMenu_1 = new JMenu("Hilfe"); menuBar.add(mnNewMenu_1); JMenuItem mntmFaq = new JMenuItem("FAQ"); mntmFaq.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { OpenLinks open = new OpenLinks(); URI windows; try { windows = new URI(Links.getFAQ()); open.openWebpage(windows); } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); mnNewMenu_1.add(mntmFaq); JMenuItem mntmOtrs = new JMenuItem("OTRS"); mntmOtrs.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { OpenLinks open = new OpenLinks(); URI windows; try { windows = new URI(Links.getOTRS()); open.openWebpage(windows); } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); mnNewMenu_1.add(mntmOtrs); JMenuItem mntmAbout = new JMenuItem("About"); mntmAbout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { About_GUI ab = new About_GUI(); ab.setVisible(true); } }); mnNewMenu_1.add(mntmAbout); } class MyItemListener1 implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getSource(); if (source instanceof AbstractButton == false) return; boolean checked = e.getStateChange() == ItemEvent.SELECTED; for (int x = 0, y = table.getRowCount(); x < y; x++) { table.setValueAt(new Boolean(checked), x, 1); } } } class MyItemListener2 implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getSource(); if (source instanceof AbstractButton == false) return; boolean checked = e.getStateChange() == ItemEvent.SELECTED; for (int x = 0, y = table.getRowCount(); x < y; x++) { table.setValueAt(new Boolean(checked), x, 2); } } } class MyItemListener3 implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getSource(); if (source instanceof AbstractButton == false) return; boolean checked = e.getStateChange() == ItemEvent.SELECTED; for (int x = 0, y = table.getRowCount(); x < y; x++) { table.setValueAt(new Boolean(checked), x, 3); } } } class MyItemListener4 implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getSource(); if (source instanceof AbstractButton == false) return; boolean checked = e.getStateChange() == ItemEvent.SELECTED; for (int x = 0, y = table.getRowCount(); x < y; x++) { table.setValueAt(new Boolean(checked), x, 4); } } } class MyItemListener5 implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getSource(); if (source instanceof AbstractButton == false) return; boolean checked = e.getStateChange() == ItemEvent.SELECTED; for (int x = 0, y = table.getRowCount(); x < y; x++) { table.setValueAt(new Boolean(checked), x, 5); } } } } /* * class CheckBoxHeader extends JCheckBox implements TableCellRenderer, * MouseListener { protected CheckBoxHeader rendererComponent; protected int * column; protected boolean mousePressed = false; * * public CheckBoxHeader(ItemListener itemListener ,String text) { * rendererComponent = this; rendererComponent.addItemListener(itemListener); * rendererComponent.setText(text); } * * public Component getTableCellRendererComponent( JTable table, Object value, * boolean isSelected, boolean hasFocus, int row, int column) { if (table != * null) { JTableHeader header = table.getTableHeader(); if (header != null) { * rendererComponent.setForeground(header.getForeground()); * rendererComponent.setBackground(header.getBackground()); * rendererComponent.setFont(header.getFont()); * rendererComponent.setBorder(header.getBorder()); * header.addMouseListener(rendererComponent); } } setColumn(column); * //rendererComponent.setText("Check All"); * //setBorder(UIManager.getBorder("TableHeader.cellBorder")); * * return rendererComponent; } protected void setColumn(int column) { * this.column = column; } public int getColumn() { return column; } protected * void handleClickEvent(MouseEvent e) { if (mousePressed) { mousePressed=false; * JTableHeader header = (JTableHeader)(e.getSource()); JTable tableView = * header.getTable(); TableColumnModel columnModel = tableView.getColumnModel(); * int viewColumn = columnModel.getColumnIndexAtX(e.getX()); int column = * tableView.convertColumnIndexToModel(viewColumn); * * if (viewColumn == this.column && e.getClickCount() == 1 && column != -1) { * doClick(); } } } public void mouseClicked(MouseEvent e) { * handleClickEvent(e); ((JTableHeader)e.getSource()).repaint(); } public void * mousePressed(MouseEvent e) { mousePressed = true; } public void * mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } * public void mouseExited(MouseEvent e) { } } */