Hallo Leute!
Ich habe folgendes Problem:
Ich will einen Preisfilter erstellen. Dafür werden aus mehreren Onlineshops Werte in eine jTable eingelesen. Ich habe einen Button erstellt und 2 jTextfields für Preisminimum und Preismaximum. In diese Textfields sollte, wie schon der Name sagt, ein Minimumpreis und ein Maximumpreis eingegeben werden. Wenn man dann auf dennButton klickt sollten in der jTable nur mehr die Werte angezeigt werden die zwischen diesen 2 Werten liegen.
Ich probiere schon ewig hin und her und komme einfach nicht weiter. Ich hoffe jemand kann mir helfen. Danke schon mal im Voraus.
Das ist mein bisheriger Versuch:
Und hier meine jTable:
Ich habe folgendes Problem:
Ich will einen Preisfilter erstellen. Dafür werden aus mehreren Onlineshops Werte in eine jTable eingelesen. Ich habe einen Button erstellt und 2 jTextfields für Preisminimum und Preismaximum. In diese Textfields sollte, wie schon der Name sagt, ein Minimumpreis und ein Maximumpreis eingegeben werden. Wenn man dann auf dennButton klickt sollten in der jTable nur mehr die Werte angezeigt werden die zwischen diesen 2 Werten liegen.
Ich probiere schon ewig hin und her und komme einfach nicht weiter. Ich hoffe jemand kann mir helfen. Danke schon mal im Voraus.
Das ist mein bisheriger Versuch:
Java:
btnPreisFilter.addActionListener(new ActionListener(){ @SuppressWarnings("unchecked")
public void actionPerformed(ActionEvent e){
Double Prmin = Double.parseDouble(tfPreismin.getText());
Double Prmax = Double.parseDouble(tfPreismax.getText());
if ((tfPreismin.getText() == null) && (tfPreismax.getText() == null)) {
((DefaultRowSorter<TableModel, Integer>) sorter).setRowFilter(null);
}
else {
try {final RowSorter<TableModel> sorter =
new TableRowSorter<TableModel>(myTableModel);
((DefaultRowSorter<TableModel, Integer>) sorter).setRowFilter(
RowFilter.regexFilter(">"+Prmin));
} catch (PatternSyntaxException pse) {
System.err.println("Bad regex pattern");
}
}
}});
Und hier meine jTable:
Java:
private void setDefaultModel(JTable jtable) { jtable.setModel(myTableModel = new DefaultTableModel(new Object[][] {},
new String[] { "Art Nr.", "Name", "Shop", "Preis(€)",
"Verfügbarkeit", "Bestelllen" }) {
Class[] columnTypes = new Class[] { String.class, String.class,
String.class, Double.class, String.class, String.class };
public Class getColumnClass(int columnIndex) {
return columnTypes[columnIndex];
}
boolean[] columnEditables = new boolean[] { false, false, false,
false, false, false};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
});
final RowSorter<TableModel> sorter =
new TableRowSorter<TableModel>(myTableModel);
jtable.setRowSorter(sorter);
}