diff options
author | Simon Rettberg | 2014-08-12 16:48:28 +0200 |
---|---|---|
committer | Simon Rettberg | 2014-08-12 16:48:28 +0200 |
commit | 5c2cc7e8a41f52eab9aa0263cac4bfc405198a4f (patch) | |
tree | b2abb1c0eab59fe11386afc3b967fab574833b79 /Dozentenmodul/src/main/java/gui | |
parent | Merge branch 'master' of git.openslx.org:openslx-ng/tutor-module into maven (diff) | |
download | tutor-module-5c2cc7e8a41f52eab9aa0263cac4bfc405198a4f.tar.gz tutor-module-5c2cc7e8a41f52eab9aa0263cac4bfc405198a4f.tar.xz tutor-module-5c2cc7e8a41f52eab9aa0263cac4bfc405198a4f.zip |
Moved new source files to proper subdir
Diffstat (limited to 'Dozentenmodul/src/main/java/gui')
-rw-r--r-- | Dozentenmodul/src/main/java/gui/image/ExtendedSearchForImages_GUI.java | 278 | ||||
-rw-r--r-- | Dozentenmodul/src/main/java/gui/image/PermissionImage_GUI.java | 471 |
2 files changed, 749 insertions, 0 deletions
diff --git a/Dozentenmodul/src/main/java/gui/image/ExtendedSearchForImages_GUI.java b/Dozentenmodul/src/main/java/gui/image/ExtendedSearchForImages_GUI.java new file mode 100644 index 00000000..872e8f8d --- /dev/null +++ b/Dozentenmodul/src/main/java/gui/image/ExtendedSearchForImages_GUI.java @@ -0,0 +1,278 @@ +package gui.image; + + +import gui.image.CreateImageAllgemein_GUI; +import gui.image.FTPCreateUploader_GUI; +import gui.intro.About_GUI; + +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.net.URI; +import java.net.URISyntaxException; +import java.util.List; + +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.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.Links; +import models.Search; +import server.Server.Client; +import thrift.ThriftConnection; +import util.GuiOrganizer; +import util.OpenLinks; + +@SuppressWarnings("serial") +public class ExtendedSearchForImages_GUI extends JFrame { + + private final JPanel contentPanel = new JPanel(); + String[] result; + private JTextField textField; + private JTextField textField_1; + JCheckBox chckbxBestehendesImage; + JCheckBox chckbxRohling; + JComboBox<String> comboBox; + Search search=new Search(); + ThriftConnection con = new ThriftConnection(); + Client client = models.Client.clientcon.getClient(); + + /** + * Create the dialog. + */ + public ExtendedSearchForImages_GUI() { + + setResizable(false); + + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (ClassNotFoundException | InstantiationException + | IllegalAccessException | UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + setTitle("bwLehrpool Suite *Prototyp* - Erweiterte Suche"); + 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("Weitere Suchoptionen"); + 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("beschreibung"); + 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, "Image-Typ", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBounds(10, 11, 557, 95); + contentPanel.add(panel_1); + panel_1.setLayout(null); + + JLabel lblNewLabel_2 = new JLabel("Image-Typ"); + lblNewLabel_2.setBounds(10, 39, 176, 20); + panel_1.add(lblNewLabel_2); + + chckbxBestehendesImage = new JCheckBox("Bestehendes Image"); + chckbxBestehendesImage.setSelected(search.isExistingImage()); + chckbxBestehendesImage.setBounds(192, 38, 138, 23); + panel_1.add(chckbxBestehendesImage); + + chckbxRohling = new JCheckBox("Rohling"); + chckbxRohling.setSelected(search.isRohling()); + chckbxRohling.setBounds(332, 38, 97, 23); + panel_1.add(chckbxRohling); + + JPanel panel = new JPanel(); + panel.setLayout(null); + panel.setBorder(new TitledBorder(null, "Image-Inhalt", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel.setBackground(SystemColor.menu); + panel.setBounds(10, 117, 557, 95); + contentPanel.add(panel); + + JLabel lblEnthalteneSoftware = new JLabel("Enthaltene Software"); + lblEnthalteneSoftware.setBounds(10, 39, 176, 20); + panel.add(lblEnthalteneSoftware); + + textField = new JTextField(); + textField.setBounds(196, 39, 351, 20); + textField.setText(search.getSoftware()); + panel.add(textField); + textField.setColumns(10); + + JLabel lblNewLabel_1 = new JLabel("Bitte mit ; getrennt angeben"); + lblNewLabel_1.setBounds(196, 70, 351, 14); + panel.add(lblNewLabel_1); + + JPanel panel_2 = new JPanel(); + panel_2.setLayout(null); + panel_2.setBorder(new TitledBorder(null, "Informationen zum Ersteller", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBackground(SystemColor.menu); + panel_2.setBounds(10, 223, 557, 123); + contentPanel.add(panel_2); + + JLabel lblNachnameDesErstellers = new JLabel("Nachname des Erstellers"); + lblNachnameDesErstellers.setBounds(10, 39, 176, 20); + panel_2.add(lblNachnameDesErstellers); + + textField_1 = new JTextField(); + textField_1.setColumns(10); + textField_1.setBounds(196, 39, 351, 20); + textField_1.setText(search.getCreator()); + panel_2.add(textField_1); + + JLabel lblHochschuleuniversitt = new JLabel("Hochschule/Universit\u00E4t"); + lblHochschuleuniversitt.setBounds(10, 70, 176, 20); + panel_2.add(lblHochschuleuniversitt); + + comboBox = new JComboBox<String>(); + try { + List<String> universities=client.getAllUniversities(); + for(int i=0; i< universities.size();i++) + { + comboBox.addItem(universities.get(i).toString()); + } + } catch (TException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + comboBox.setBounds(196, 70, 351, 20); + panel_2.add(comboBox); + { + 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("\u00DCbernehmen"); + cancelButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + search.setExistingImage(chckbxBestehendesImage.isSelected()); + search.setRohling(chckbxRohling.isSelected()); + search.setSoftware(textField.getText()); + search.setCreator(textField_1.getText()); + search.setHochschule(comboBox.getSelectedItem().toString()); + System.out.println("Working :" +search.getSoftware()); + 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 = new JMenu("Suchen"); + menuBar.add(mnNewMenu); + + JMenuItem mntmVlSuche = new JMenuItem("VL Suche"); + mnNewMenu.add(mntmVlSuche); + + 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); + + } +} diff --git a/Dozentenmodul/src/main/java/gui/image/PermissionImage_GUI.java b/Dozentenmodul/src/main/java/gui/image/PermissionImage_GUI.java new file mode 100644 index 00000000..43b5eb48 --- /dev/null +++ b/Dozentenmodul/src/main/java/gui/image/PermissionImage_GUI.java @@ -0,0 +1,471 @@ +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 PermissionImage_GUI extends JFrame { + + private final JPanel contentPanel = new JPanel(); + String[] result; + private JTable table; + private Class[] classes; + Object[] titles = { "Name","Read", "Write", + "Admin", "ChangePermission"}; + + 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; + /** + * Create the dialog. + */ + public static void main(String [ ] args) + { + PermissionImage_GUI gui=new PermissionImage_GUI(); + gui.setVisible(true); + } + public PermissionImage_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 *Prototyp* - 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"); + 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, 75, 557, 445); + contentPanel.add(panel_1); + panel_1.setLayout(null); + + JScrollPane scrollPane = new JScrollPane(); + scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + scrollPane.setBounds(10, 21, 537, 413); + panel_1.add(scrollPane); + + table = new JTable(); + table.setModel(model); + table.setSelectionForeground(Color.WHITE); + Object[] rowdata={"Spitzer Tobias", 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])); + + scrollPane.setViewportView(table); + + JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); + lblHauptmen.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent arg0) { + + PermissionImage_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); + + 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", "Universit\u00E4t Freiburg"})); + comboBox.setBounds(365, 36, 202, 20); + contentPanel.add(comboBox); + { + 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) { + + + EditImageTechnisch_GUI sr=new EditImageTechnisch_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 = new JMenu("Suchen"); + menuBar.add(mnNewMenu); + + JMenuItem mntmVlSuche = new JMenuItem("VL Suche"); + mnNewMenu.add(mntmVlSuche); + + 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 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) { +} +} |