tabelle = new JTable(null, new DefaultTableColumnModel());JTableHeader tab_head = tabelle.getTableHeader();
MeinMausListener tableHeadMausListener = new MeinMausListener(this);tab_head.addMouseListener(tableHeadMausListener);
public void mouseClicked(MouseEvent me) { if (me.getComponent() instanceof JTableHeader) { JTable tabelle = ((JTableHeader)me.getComponent()).getTable(); // Tabelle bestimmen, in der MouseClick erfolgt ist int spaltenIndex = tabelle.columnAtPoint(me.getPoint()); // welche Spalte wurde geklickt // Sortierfolge wird vorgegeben, indem zwei Variablen in meiner Hauptklasse mit entspr. Infos gefüllt werden if ( ((FA_InfoGUI)obj).sortTabelle.equals(tabelle.getColumnName(spaltenIndex)) ) { if ( ((FA_InfoGUI)obj).sortFolge.equals("asc ") ) ((FA_InfoGUI)obj).sortFolge = "desc "; else ((FA_InfoGUI)obj).sortFolge = "asc "; } else ((FA_InfoGUI)obj).sortFolge = "asc "; ((FA_InfoGUI)obj).sortTabelle = tabelle.getColumnName(spaltenIndex); // der Spaltenname wird in die Variable gefüllt ((FA_InfoGUI)obj).datenEinlesenThread(); // das Einlesen der Daten in entspr. Sortierung wird aufgerufen } }
//******************************************************************************//* Vectoren für das TableModel "Calls" mit Werten füllen *//******************************************************************************public void tableModelCallsFuellen() { zeilenCalls = new Vector(); ResultSet result = null; String selectBefehl = "SELECT sv_inquiry.logged_dt," + "sv_inquiry.status," + "sv_inquiry.kostenpflichtig," + "sv_inq_txt.inquiry_txt, " + "sv_inquiry.priority " + "from sv_inquiry, sv_inq_txt " + "where sv_inquiry.account_id = ? and " + " sv_inquiry.priority = '7' and " + " sv_inquiry.inquiry_id = sv_inq_txt.inquiry_id "; if (sortTabelle.equals("kostenpfl")) selectBefehl += "order by sv_inquiry.kostenpflichtig "; else selectBefehl += "order by sv_inquiry.logged_dt "; selectBefehl += sortFolge; if ( sortTabelle.equals("kostenpfl")) selectBefehl += ",sv_inquiry.logged_dt "; try { PreparedStatement prepStmt = connex.prepareStatement(selectBefehl); prepStmt.setInt(1, this.account_id); result = prepStmt.executeQuery(); while(result.next()) { zeilenDatenCalls = new Vector(); zeilenDatenCalls.addElement(" " + result.getDate(1)); zeilenDatenCalls.addElement(" " + result.getString(2)); zeilenDatenCalls.addElement(" " + result.getString(3)); zeilenDatenCalls.addElement(" " + result.getString(4)); zeilenDatenCalls.addElement(" " + result.getString(5)); zeilenCalls.addElement(zeilenDatenCalls); } } catch (SQLException e) { new MessageBox(e.toString() + "Statement: " + selectBefehl + "\nKlasse: FA_Info2GUI"); }}