diff options
Diffstat (limited to 'Dozentenmodul/src/gui/SearchImage_GUI.java')
| -rw-r--r-- | Dozentenmodul/src/gui/SearchImage_GUI.java | 139 |
1 files changed, 86 insertions, 53 deletions
diff --git a/Dozentenmodul/src/gui/SearchImage_GUI.java b/Dozentenmodul/src/gui/SearchImage_GUI.java index 44b83087..6ee58903 100644 --- a/Dozentenmodul/src/gui/SearchImage_GUI.java +++ b/Dozentenmodul/src/gui/SearchImage_GUI.java @@ -15,7 +15,6 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; -import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -35,11 +34,18 @@ import javax.swing.JTabbedPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.JTextPane; +import javax.swing.RowFilter; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; +import javax.swing.table.TableRowSorter; + +import models.person; import org.apache.thrift.TException; @@ -55,10 +61,16 @@ public class SearchImage_GUI extends JFrame { JRadioButton rdbtnInternetNein; JComboBox<String> comboBox; JTable tableAllImages; + JTable tablemyImages; private JTextField textFieldName; + JTabbedPane tabbedPane; String[] titles= {"Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", "Letztes Update", "Schlagwort"}; ThriftConnection con=new ThriftConnection(); Client client=con.getThriftConnection(); + final DefaultTableModel modelAll = new DefaultTableModel( titles, 0 ); + final DefaultTableModel modelMyImages = new DefaultTableModel( titles, 0 ); + final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( modelAll ); + final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( modelMyImages ); /** * Launch the application. @@ -80,26 +92,31 @@ public class SearchImage_GUI extends JFrame { addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { + //Beendet die Anwendung nach klick auf X System.exit(0); } }); + //Verhindert das Vergrößern Des Fensters setResizable(false); try { + //Setzt das Look & Feel auf System UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); } + //Setzt den Fenstertitel setTitle("bwLehrpool Suite *Prototyp*"); + //Zentriert das Fenster in die Bildmitte Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - int top=(screenSize.height - 603) / 2; - int left=(screenSize.width - 722) / 2; + int top=(screenSize.height - 722) / 2; + int left=(screenSize.width - 603) / 2; setBounds(left, top, 603, 722); - final DefaultTableModel modelAll = new DefaultTableModel( titles, 0 ); + final DefaultTableModel model = new DefaultTableModel( titles, 0 ); @@ -146,26 +163,23 @@ public class SearchImage_GUI extends JFrame { panel_1.add(lblInternetIstInnerhalb); textFieldName = new JTextField(); + //Key Listener der Tastatureingabe registriert textFieldName.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { + //Textfield eingabe auslesen String stext=textFieldName.getText(); - modelAll.setRowCount(0); - initTableModel(modelAll); - + + //Wenn Textfield nicht leer if(stext!="") - for(int i=0;i<modelAll.getRowCount();i++){ + { + //Filtere nach der Eingabe + rowSorterAll.setRowFilter(RowFilter.regexFilter(textFieldName.getText(), 0)); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(textFieldName.getText(), 0)); - if(modelAll.getValueAt(i, 0).toString().startsWith(stext)){ - - } - else - { - modelAll.removeRow(i); - } - } - } - }); + } + }}); + textFieldName.setBounds(270, 30, 250, 20); panel_1.add(textFieldName); @@ -175,6 +189,7 @@ public class SearchImage_GUI extends JFrame { lblErweiterteSuche.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { + //Öffnet das Fenster Extended GUI ExtendedSearch_GUI es=new ExtendedSearch_GUI(); es.setVisible(true); } @@ -186,35 +201,31 @@ public class SearchImage_GUI extends JFrame { comboBox = new JComboBox<String>(); try { + //Holt sich eine Liste aller verfügbaren Betriebssysteme vom Server List<String> list=client.getAllOS(); + //Leeres Item hinzufügen comboBox.addItem(""); for(int i=0;i<list.size();i++) { - comboBox.addItem(list.get(i)); + //Hinzufügen der verfügbaren Betriebssysteme + comboBox.addItem(list.get(i)); } } catch (TException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } + //Registriert Auswahländerungen der Box comboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { - modelAll.setRowCount(0); - initTableModel(modelAll); - String selItem=comboBox.getSelectedItem().toString(); - if(selItem!="") + //Prüft das die Auswahl nicht leer ist + if(comboBox.getSelectedItem().toString()!="") { - for(int i=0;i<modelAll.getRowCount();i++){ - - if(modelAll.getValueAt(i, 2).equals(selItem)){ - - } - else - { - modelAll.removeRow(i); - } + //Filtert nach dem ausgewählten Betriebssystem + rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2)); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2)); } } - } + }); comboBox.setBounds(270, 58, 250, 20); panel_1.add(comboBox); @@ -223,7 +234,7 @@ public class SearchImage_GUI extends JFrame { lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - + //Öffnet das Hauütmenü SearchImage_GUI.this.setVisible(false); MainMenue_GUI main=new MainMenue_GUI(); main.setVisible(true); @@ -250,19 +261,37 @@ public class SearchImage_GUI extends JFrame { lblNewLabel_1.setBounds(146, 11, 85, 14); contentPanel.add(lblNewLabel_1); - JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); + tabbedPane = new JTabbedPane(JTabbedPane.TOP); + tabbedPane.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + System.out.println(tabbedPane.getSelectedIndex()); + if(tabbedPane.getSelectedIndex()==0){ + + + + } + else if(tabbedPane.getSelectedIndex()==1){ + String username="Spitzer Tobias"; + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4)); + //rowSorterMyImages.toggleSortOrder(0); + } + + } + }); tabbedPane.setBounds(10, 197, 557, 300); contentPanel.add(tabbedPane); JScrollPane scrollPaneMyImage = new JScrollPane(); - JTable tablemyImages=new JTable(); - tablemyImages.setModel(model); + tablemyImages=new JTable(); + tablemyImages.setModel(modelMyImages); tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(4).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit(); + initTableModel(modelMyImages); + tablemyImages.setRowSorter(rowSorterMyImages); JScrollPane scrollPaneAllImages = new JScrollPane(); tableAllImages=new JTable(); @@ -272,7 +301,9 @@ public class SearchImage_GUI extends JFrame { tableAllImages.getColumnModel().getColumn(3).sizeWidthToFit(); tableAllImages.getColumnModel().getColumn(4).sizeWidthToFit(); tableAllImages.getColumnModel().getColumn(5).sizeWidthToFit(); - + initTableModel(modelAll); + tableAllImages.setRowSorter(rowSorterAll); + scrollPaneAllImages.setViewportView(tableAllImages); tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); @@ -290,6 +321,7 @@ public class SearchImage_GUI extends JFrame { scrollPaneCoopImages.setViewportView(tableCoopImages); tabbedPane.addTab("Kooperative Images", null, scrollPaneCoopImages, null); + tabbedPane.setEnabledAt(2, false); JScrollPane scrollPanePublicImages = new JScrollPane(); JTable tablePublicImages=new JTable(); @@ -302,6 +334,7 @@ public class SearchImage_GUI extends JFrame { scrollPanePublicImages.setViewportView(tablePublicImages); tabbedPane.addTab("\u00D6ffentliche Images", null, scrollPanePublicImages, null); + tabbedPane.setEnabledAt(3, false); JScrollPane scrollPanePublicVorlagen = new JScrollPane(); JTable tablePublicVorlagen=new JTable(); @@ -314,12 +347,15 @@ public class SearchImage_GUI extends JFrame { scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen); tabbedPane.addTab("\u00D6ffentliche Vorlagen", null, scrollPanePublicVorlagen, null); + tabbedPane.setEnabledAt(4, false); + - initTableModel(modelAll); + JButton btnDownload = new JButton("Download"); btnDownload.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { + //Öffnet den Downloader FTPDownloader_GUI down=new FTPDownloader_GUI("Test"); down.setVisible(true); SearchImage_GUI.this.setVisible(false); @@ -336,7 +372,8 @@ public class SearchImage_GUI extends JFrame { { JButton okButton = new JButton("Zur\u00FCck"); okButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { + public void actionPerformed(ActionEvent e) { + //Öffnet das Hauptmenü MainMenue_GUI main=new MainMenue_GUI(); main.setVisible(true); dispose(); @@ -350,6 +387,7 @@ public class SearchImage_GUI extends JFrame { JButton cancelButton = new JButton("Weiter"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + EditImageAllgemein_GUI ea=new EditImageAllgemein_GUI(); ea.setVisible(true); dispose(); @@ -371,12 +409,6 @@ public class SearchImage_GUI extends JFrame { 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); @@ -387,23 +419,24 @@ public class SearchImage_GUI extends JFrame { mnNewMenu_1.add(mntmOtrs); } - + //Initiale Beffülung eines Table models public DefaultTableModel initTableModel(DefaultTableModel model){ List<server.Image> images; try { + //Hole eine Liste der Images images = client.getImageList(); Iterator<server.Image> i=images.iterator(); - List<Object[]> ListObj = new ArrayList<Object[]>(); + int x=0; while(i.hasNext()) { - - i.next(); - Object [] obj={images.get(x).getImageName(),images.get(x).getLicenseRestriction(),images.get(x).getOsName(),images.get(x).getLectureName(),images.get(x).getUpdateTime(),images.get(x).getUserData()}; - ListObj.add(obj); - model.addRow(ListObj.get(x)); + //erzeuge Objekte für die Tabelle + Object [] obj={images.get(x).getImageName(),images.get(x).getLicenseRestriction(),images.get(x).getOsName(),images.get(x).getLectureName(),images.get(x).getUserData(),images.get(x).getUpdateTime()}; + //Füge diese Objekte der Tabelle hinzu + model.addRow(obj); x++; + i.next(); } |
