From 3231fee56ce50facd8483e7af4d7f9ff63c5bc38 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 6 Mar 2015 18:30:38 +0100 Subject: Aua, aua... --- .../main/java/gui/lecture/SearchLecture_GUI.java | 361 ++++++++------------- 1 file changed, 131 insertions(+), 230 deletions(-) (limited to 'dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java') diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java index 07f8a6e7..9f55ee83 100644 --- a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java @@ -1,9 +1,9 @@ package gui.lecture; +import gui.helper.TableFiller; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -16,7 +16,6 @@ import java.awt.event.MouseEvent; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -24,7 +23,6 @@ import javax.swing.JButton; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JPanel; -import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTabbedPane; @@ -34,12 +32,8 @@ import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.ListSelectionModel; 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.event.InternalFrameAdapter; import javax.swing.event.InternalFrameEvent; import javax.swing.event.ListSelectionEvent; @@ -61,68 +55,54 @@ import util.GuiManager; public class SearchLecture_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; - JRadioButton rdbtnInternetJa; - JRadioButton rdbtnInternetNein; - JLabel labelAktiv; - JLabel labelstartdate; - JLabel labelenddate; - JLabel labelimageversion; - JTextArea labelName; - JTextArea labelimage; - JTextArea labeldesc; - JLabel labelVerantwortlicher; - JTable tableAllLectures; - JTable tablemyLectures; + private JLabel labelAktiv; + private JLabel labelstartdate; + private JLabel labelenddate; + private JLabel labelimageversion; + private JTextArea labelName; + private JTextArea labelimage; + private JTextArea labeldesc; + private JLabel labelVerantwortlicher; + private JTable tableAllLectures; + private JTable tablemyLectures; private JTextField textFieldName; - JTabbedPane tabbedPane; - boolean activeSearch=false; - Component c = null; - String[] titles = { "Veranstaltungsname", "Beschreibung", - "Gültigkeitsdatum", "Aktiv", "Letzte Benutzung", - "Verantwortlicher", "Image", "Schlagwort", "ID" }; - - final DefaultTableModel modelAll = new DefaultTableModel(titles, 0){ - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } + private JTabbedPane tabbedPane; + private String[] titles = { "Veranstaltungsname", "Beschreibung", "Gültigkeitsdatum", "Aktiv", + "Letzte Benutzung", "Verantwortlicher", "Image", "Schlagwort", "ID" }; + + private final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { + public boolean isCellEditable(int rowIndex, int mColIndex) { + return false; + } }; - - final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0){ - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } + + private final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0) { + public boolean isCellEditable(int rowIndex, int mColIndex) { + return false; + } }; - - final TableRowSorter rowSorterAll = new TableRowSorter( - modelAll); - - final TableRowSorter rowSorterMyLectures = new TableRowSorter( + + private final TableRowSorter rowSorterAll = new TableRowSorter(modelAll); + + private final TableRowSorter rowSorterMyLectures = new TableRowSorter( modelMyLectures); - RowFilter rf = null; - List> filters = new ArrayList>(2); + private RowFilter rf = null; + private List> filters = new ArrayList>(2); /** * Create the dialog. */ public SearchLecture_GUI() { - filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); addInternalFrameListener(new InternalFrameAdapter() { @Override public void internalFrameActivated(InternalFrameEvent arg0) { - try { - initTableModel(modelMyLectures); - initTableModelAll(modelAll); - - } catch (ParseException e) { - - e.printStackTrace(); - } + initTableModel(modelMyLectures); + initTableModelAll(modelAll); tablemyLectures.getColumnModel().getColumn(1).setWidth(0); tablemyLectures.getColumnModel().getColumn(1).setMinWidth(0); tablemyLectures.getColumnModel().getColumn(1).setMaxWidth(0); @@ -141,7 +121,7 @@ public class SearchLecture_GUI extends JInternalFrame { tablemyLectures.getColumnModel().getColumn(8).setWidth(0); tablemyLectures.getColumnModel().getColumn(8).setMinWidth(0); tablemyLectures.getColumnModel().getColumn(8).setMaxWidth(0); - + tablemyLectures.getTableHeader().setReorderingAllowed(false); tablemyLectures.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tablemyLectures.addMouseListener(new MouseAdapter() { @@ -150,10 +130,11 @@ public class SearchLecture_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) { tablemyLectures.clearSelection(); //just one row is selectablemyLectures - tablemyLectures.setRowSelectionInterval(tablemyLectures.rowAtPoint(e.getPoint()), tablemyLectures.rowAtPoint(e.getPoint())); + tablemyLectures.setRowSelectionInterval(tablemyLectures.rowAtPoint(e.getPoint()), + tablemyLectures.rowAtPoint(e.getPoint())); } }); - + tableAllLectures.getColumnModel().getColumn(1).setWidth(0); tableAllLectures.getColumnModel().getColumn(1).setMinWidth(0); tableAllLectures.getColumnModel().getColumn(1).setMaxWidth(0); @@ -172,7 +153,7 @@ public class SearchLecture_GUI extends JInternalFrame { tableAllLectures.getColumnModel().getColumn(8).setWidth(0); tableAllLectures.getColumnModel().getColumn(8).setMinWidth(0); tableAllLectures.getColumnModel().getColumn(8).setMaxWidth(0); - + tableAllLectures.getTableHeader().setReorderingAllowed(false); tableAllLectures.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tableAllLectures.addMouseListener(new MouseAdapter() { @@ -181,7 +162,8 @@ public class SearchLecture_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) { tableAllLectures.clearSelection(); //just one row is selectableAllLectures - tableAllLectures.setRowSelectionInterval(tableAllLectures.rowAtPoint(e.getPoint()), tableAllLectures.rowAtPoint(e.getPoint())); + tableAllLectures.setRowSelectionInterval(tableAllLectures.rowAtPoint(e.getPoint()), + tableAllLectures.rowAtPoint(e.getPoint())); } }); } @@ -190,20 +172,11 @@ public class SearchLecture_GUI extends JInternalFrame { // Verhindert das Vergroessern Des Fensters setResizable(false); - try { - // Setzt das Look & Feel auf System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Veranstaltung suchen - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Veranstaltung suchen - " + person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte 2; setBounds(0, 0, 842, 722); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -234,8 +207,8 @@ public class SearchLecture_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, + null, null)); panel_1.setBounds(10, 49, 557, 63); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -253,18 +226,15 @@ public class SearchLecture_GUI extends JInternalFrame { String stext = textFieldName.getText().trim(); // Wenn Textfield nicht leer if (stext != "") { - activeSearch=true; // Filtere nach der Eingabe - filters.clear(); - filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive - filters.add(RowFilter.regexFilter("(?i)"+stext, 1)); //case insensitive + filters.clear(); + filters.add(RowFilter.regexFilter("(?i)" + stext, 0)); //case insensitive + filters.add(RowFilter.regexFilter("(?i)" + stext, 1)); //case insensitive rf = RowFilter.orFilter(filters); rowSorterMyLectures.setRowFilter(rf); rowSorterAll.setRowFilter(rf); - }else{ - activeSearch=false; - activeSearch = false; + } else { filters.clear(); filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything rf = RowFilter.orFilter(filters); @@ -273,7 +243,7 @@ public class SearchLecture_GUI extends JInternalFrame { } tablemyLectures.clearSelection(); tableAllLectures.clearSelection(); - + resetLectureInfo(); } }); @@ -312,48 +282,31 @@ public class SearchLecture_GUI extends JInternalFrame { contentPanel.add(lblNewLabel_1); tabbedPane = new JTabbedPane(JTabbedPane.TOP); - tabbedPane.addChangeListener(new ChangeListener() { - public void stateChanged(ChangeEvent arg0) { - if (tabbedPane.getSelectedIndex() == 0) { - //rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(username, 5)); - } else if (tabbedPane.getSelectedIndex() == 1) { - - } - - } - }); tabbedPane.setBounds(10, 123, 557, 397); contentPanel.add(tabbedPane); - JScrollPane scrollPaneAllImages = new JScrollPane(); tableAllLectures = new JTable(); - tableAllLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener() - { - public void valueChanged(ListSelectionEvent e) - { - if(tableAllLectures.getSelectedRow() != -1) - { - String imageid = modelAll - .getValueAt( - tableAllLectures - .convertRowIndexToModel(tableAllLectures - .getSelectedRow()), 8) - .toString(); - - try { - writeLectureData(imageid); - } catch (TException e1) { - - e1.printStackTrace(); - } catch (ParseException e1) { - - e1.printStackTrace(); + tableAllLectures.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + if (tableAllLectures.getSelectedRow() != -1) { + String imageid = modelAll.getValueAt( + tableAllLectures.convertRowIndexToModel(tableAllLectures.getSelectedRow()), 8) + .toString(); + + try { + writeLectureData(imageid); + } catch (TException e1) { + + e1.printStackTrace(); + } catch (ParseException e1) { + + e1.printStackTrace(); + } } - } - } - }); + } + }); tableAllLectures.setModel(modelAll); tableAllLectures.getColumnModel().getColumn(1).sizeWidthToFit(); tableAllLectures.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -363,33 +316,26 @@ public class SearchLecture_GUI extends JInternalFrame { JScrollPane scrollPaneMyImage = new JScrollPane(); tablemyLectures = new JTable(); - tablemyLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener() - { - public void valueChanged(ListSelectionEvent e) - { - if(tablemyLectures.getSelectedRow() != -1) - { - String imageid = modelMyLectures - .getValueAt( - tablemyLectures - .convertRowIndexToModel(tablemyLectures - .getSelectedRow()), 8) - .toString(); - - try { - writeLectureData(imageid); - } catch (TException e1) { - - e1.printStackTrace(); - } catch (ParseException e1) { - - e1.printStackTrace(); + tablemyLectures.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + if (tablemyLectures.getSelectedRow() != -1) { + String imageid = modelMyLectures.getValueAt( + tablemyLectures.convertRowIndexToModel(tablemyLectures.getSelectedRow()), 8) + .toString(); + + try { + writeLectureData(imageid); + } catch (TException e1) { + + e1.printStackTrace(); + } catch (ParseException e1) { + + e1.printStackTrace(); + } } - } - } - - - }); + } + + }); tablemyLectures.setModel(modelMyLectures); tablemyLectures.getColumnModel().getColumn(1).sizeWidthToFit(); @@ -400,8 +346,7 @@ public class SearchLecture_GUI extends JInternalFrame { tablemyLectures.setRowSorter(rowSorterMyLectures); scrollPaneMyImage.setViewportView(tablemyLectures); - tabbedPane.addTab("Meine Veranstaltungen", null, scrollPaneMyImage, - null); + tabbedPane.addTab("Meine Veranstaltungen", null, scrollPaneMyImage, null); tableAllLectures.setRowSorter(rowSorterAll); scrollPaneAllImages.setViewportView(tableAllLectures); @@ -422,7 +367,6 @@ public class SearchLecture_GUI extends JInternalFrame { }); btnBack.setActionCommand("OK"); buttonPane.add(btnBack); - //getRootPane().setDefaultButton(btnBack); } } @@ -433,68 +377,68 @@ public class SearchLecture_GUI extends JInternalFrame { JSeparator separator_1 = new JSeparator(); separator_1.setBounds(0, 628, 836, 1); getContentPane().add(separator_1); - + JPanel panel = new JPanel(); panel.setLayout(null); - panel.setBorder(new TitledBorder(null, "Detailinformationen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel.setBorder(new TitledBorder(null, "Detailinformationen", + + TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel.setBackground(SystemColor.menu); panel.setBounds(591, 85, 235, 518); getContentPane().add(panel); - + JLabel lblNewLabel_3 = new JLabel("Name:"); lblNewLabel_3.setBounds(10, 27, 104, 14); panel.add(lblNewLabel_3); - + JLabel lblAktiv = new JLabel("Aktiv:"); lblAktiv.setBounds(10, 98, 104, 14); panel.add(lblAktiv); - + labelAktiv = new JLabel(""); labelAktiv.setBounds(10, 114, 218, 14); panel.add(labelAktiv); - + labelstartdate = new JLabel(""); labelstartdate.setBounds(10, 147, 218, 14); panel.add(labelstartdate); - + JLabel lblStartdatum = new JLabel("Startdatum:"); lblStartdatum.setBounds(10, 129, 104, 14); panel.add(lblStartdatum); - + labelenddate = new JLabel(""); labelenddate.setBounds(10, 175, 218, 14); panel.add(labelenddate); - + JLabel lblEnddatum = new JLabel("Enddatum:"); lblEnddatum.setBounds(10, 161, 104, 14); panel.add(lblEnddatum); - + JLabel lblBeschreibung = new JLabel("Beschreibung:"); lblBeschreibung.setBounds(10, 189, 104, 14); panel.add(lblBeschreibung); - + JLabel lblImage = new JLabel("Image:"); lblImage.setBounds(10, 293, 104, 14); panel.add(lblImage); - + labelVerantwortlicher = new JLabel(""); labelVerantwortlicher.setBounds(10, 426, 218, 14); panel.add(labelVerantwortlicher); - + JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:"); lblVerantwortlicher.setBounds(10, 411, 104, 14); panel.add(lblVerantwortlicher); - + JLabel lblImageversion = new JLabel("Imageversion:"); lblImageversion.setBounds(10, 381, 104, 14); panel.add(lblImageversion); - + labelimageversion = new JLabel(""); labelimageversion.setBounds(10, 399, 218, 14); panel.add(labelimageversion); - - + labeldesc = new JTextArea(); labeldesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); labeldesc.setEditable(false); @@ -505,7 +449,7 @@ public class SearchLecture_GUI extends JInternalFrame { scrollPane.setBounds(10, 209, 218, 81); panel.add(scrollPane); //panel.add(labeldesc); - + labelimage = new JTextArea(); labelimage.setLineWrap(true); labelimage.setFont(new Font("Tahoma", Font.PLAIN, 11)); @@ -515,7 +459,7 @@ public class SearchLecture_GUI extends JInternalFrame { JScrollPane scrollPaneImage = new JScrollPane(labelimage); scrollPaneImage.setBounds(10, 309, 215, 69); panel.add(scrollPaneImage); - + labelName = new JTextArea(); labelName.setEditable(false); labelName.setFont(new Font("Tahoma", Font.PLAIN, 11)); @@ -525,94 +469,53 @@ public class SearchLecture_GUI extends JInternalFrame { scrollPaneName.setBounds(10, 40, 218, 55); panel.add(scrollPaneName); - } // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModel(DefaultTableModel model) throws ParseException { + public DefaultTableModel initTableModel(DefaultTableModel model) { List lectures; try { - + // Hole eine Liste der erlaubten Images für die diese Person - if(person.verantwortlicher.getRole()=="Admin"){ + if (person.verantwortlicher.getRole() == "Admin") { //get complete list lectures = ThriftManager.getSatClient().getLectureList(SessionData.authToken); } else { //get permitted list lectures = ThriftManager.getSatClient().getLectureListPermissionRead(SessionData.authToken); } - - Iterator i = lectures.iterator(); - SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - int x = 0; - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - Object[] obj = { - lectures.get(x).lecturename, - lectures.get(x).desc, - out.format(in.parse(lectures.get(x).starttime)) + " " - + out.format(in.parse(lectures.get(x).endtime)), - lectures.get(x).isActive, out.format(in.parse(lectures.get(x).lastused)), - lectures.get(x).username, - lectures.get(x).imagename," " ,lectures.get(x).id }; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - x++; - i.next(); - } + TableFiller.fillModelWithLectureList(model, lectures); //show number of rows in GUI - tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0)+" ("+model.getRowCount()+") "); + tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0) + " (" + model.getRowCount() + ") "); return model; } catch (TException e1) { - + e1.printStackTrace(); } return model; } - + // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModelAll(DefaultTableModel model) throws ParseException { + public DefaultTableModel initTableModelAll(DefaultTableModel model) { List lectures; try { // Hole eine Liste der erlaubten Images für die diese Person - //lectures = ThriftManager.getSatClient().getLectureList(); lectures = ThriftManager.getSatClient().getLectureList(SessionData.authToken); - Iterator i = lectures.iterator(); - SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - int x = 0; - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - Object[] obj = { - lectures.get(x).lecturename, - lectures.get(x).desc, - out.format(in.parse(lectures.get(x).starttime)) + " " - + out.format(in.parse(lectures.get(x).endtime)), - lectures.get(x).isActive, out.format(in.parse(lectures.get(x).lastused)), - lectures.get(x).username, - lectures.get(x).imagename," " ,lectures.get(x).id }; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - x++; - i.next(); - } + TableFiller.fillModelWithLectureList(model, lectures); //show number of rows in GUI - tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1)+" ("+model.getRowCount()+") "); + tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1) + " (" + model.getRowCount() + ") "); return model; } catch (TException e1) { - + e1.printStackTrace(); } return model; } - + private void resetLectureInfo() { //reset the detailed information on the right hand side when changing search string @@ -627,22 +530,20 @@ public class SearchLecture_GUI extends JInternalFrame { labelVerantwortlicher.setText(""); } - - - public void writeLectureData(String id) throws TException, ParseException{ - - SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map res=ThriftManager.getSatClient().getLectureData(id,SessionData.authToken); - labelName.setText(res.get("name")); - labelAktiv.setText(res.get("isActive")); - labeldesc.setText(res.get("desc")); - labelVerantwortlicher.setText(res.get("owner")); - labelstartdate.setText(out.format(in.parse(res.get("startTime")))); - labelenddate.setText(out.format(in.parse(res.get("endTime")))); - labelimage.setText(res.get("imagepath").substring(res.get("imagepath").indexOf("/")+1)); - labelimageversion.setText(res.get("imageversion")); - + + public void writeLectureData(String id) throws TException, ParseException { + + SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); + Map res = ThriftManager.getSatClient().getLectureData(id, SessionData.authToken); + labelName.setText(res.get("name")); + labelAktiv.setText(res.get("isActive")); + labeldesc.setText(res.get("desc")); + labelVerantwortlicher.setText(res.get("owner")); + labelstartdate.setText(out.format(in.parse(res.get("startTime")))); + labelenddate.setText(out.format(in.parse(res.get("endTime")))); + labelimage.setText(res.get("imagepath").substring(res.get("imagepath").indexOf("/") + 1)); + labelimageversion.setText(res.get("imageversion")); } } -- cgit v1.2.3-55-g7522