Hallo und einen wunderschönene Sonntag,
eben habe ich hier im Forum den folgenden Codeschnipsel zum obigen Thema gefunden.
[url]http://www.java-forum.org/de/viewtopic.php?t=16035
[/url]
Da ich mich zur Zeit mit dem Thema der Tabellen beschäftige, kommt mir dieses Beispiel gerade recht. Nun weiss ich leider überhaupt nicht, wo und wie ich dies anwenden kann.
Ich habe auch schon das Tutorial zum Thema der Tabellen hier im Forum gelesen, aber das mit dem Sortieren ist mir dort derzeit noch zu hoch. Dieses kleine Beispiel würde mir für mein Verständnis bestimmt im Moment ausreichen.
Anbei mein Beispiel. Über einen Tipp würde ich mich freuen.
eben habe ich hier im Forum den folgenden Codeschnipsel zum obigen Thema gefunden.
Code:
MyModel extends DefaultTableModel {
...
public void sortBy(int sortOrder) {
Comparator comparator = null;
switch(sortOrder) {
case VORNAME:
comparator = vornameComparator; break;
case NACHNAME:
comparator = nameComparator; break;
case ALTER:
comparator = alterComparator; break;
};
if(comparator!=null) {
Collections.sort(getDataVector(), comparator);
fireTableDataChanged();
}
}
}
[url]http://www.java-forum.org/de/viewtopic.php?t=16035
[/url]
Da ich mich zur Zeit mit dem Thema der Tabellen beschäftige, kommt mir dieses Beispiel gerade recht. Nun weiss ich leider überhaupt nicht, wo und wie ich dies anwenden kann.
Ich habe auch schon das Tutorial zum Thema der Tabellen hier im Forum gelesen, aber das mit dem Sortieren ist mir dort derzeit noch zu hoch. Dieses kleine Beispiel würde mir für mein Verständnis bestimmt im Moment ausreichen.
Anbei mein Beispiel. Über einen Tipp würde ich mich freuen.
Code:
import java.awt.*;
import javax.swing.JTable;
import javax.swing.JInternalFrame;
import javax.swing.JScrollPane;
public class jifMitarbeiterDaten extends JInternalFrame {
private JTable mitarbeiterTable;
private JScrollPane scrollPane;
public jifMitarbeiterDaten() {
super("Mitarbeiterdaten", false, true, false, false);
mitarbeiterTableModel mitarbeiterTableTm = new mitarbeiterTableModel();
JTable mitarbeiterTable = new JTable(mitarbeiterTableTm);
getContentPane().add( new JScrollPane( mitarbeiterTable ), BorderLayout.CENTER );
pack();
setVisible(true);
}
}
Code:
import javax.swing.table.*;
import java.util.Vector;
public class mitarbeiterTableModel extends AbstractTableModel{
mitarbeiterDataManager md = new mitarbeiterDataManager();
Vector maDatenTmp = new Vector();
public mitarbeiterTableModel() {
try {
maDatenTmp = md.getMitarbeiterData();
}
catch (Exception ex) {
}
}
public int getColumnCount() {
return 4;
}
public int getRowCount() {
return maDatenTmp.size();
}
public String getColumnName(int col) {
switch( col ){
case 0: return "Nachname";
case 1: return "Vorname";
case 2: return "-DW";
case 3: return "Mobil";
default: return null;
}
}
public Object getValueAt(int row, int col) {
maDatenClass mDatClass = (maDatenClass)maDatenTmp.get( row );
switch( col ){
case 0: return mDatClass.getnachname();
case 1: return mDatClass.getvorname();
case 2: return mDatClass.getdw();
case 3: return mDatClass.gethandy();
default: return null;
}
}
public boolean isCellEditable(int int0, int int1) {
return false;
}
public void setValueAt(Object object, int int1, int int2) {
}
// public void addTableModelListener(TableModelListener tableModelListener) {
// }
// public void removeTableModelListener(TableModelListener tableModelListener) {
// }
}