Falsche Zeile gelöscht nach Spalte Sortierung in JTable

Status
Nicht offen für weitere Antworten.
L

Louis2

Gast
Hallo,

ich habe eine JTable mit eine beliebigen Anzahl an Spalten (kann festgelegt werden...). Beim eingeben der Daten von der DB in die JTable werde die Zeilen alphanumerisch nach der CustomerNo sortiert. Wenn ich nun Zeile 3 markiere erscheint die Meldung "Löschen von Zeile 3...". Alles ok.

Wenn ich nun aber alle Zeilen nach einer anderen Spalte sortiere (z.B. CustomerName), und dann wieder auf eine Zeile klicke, erscheint zwar die richtige Nummer der Zeile (z.B. "Löschen von Zeile 5..."), aber es wird nicht die Zeile der neuen Sortierung an Position 5 gelöscht sondern immer die Zeile an Position 5 vor der Sortierung. Also gibt es ein Aktualisierungsproblem. Woran liegt es ? Kann man irgendwie ein refresh vom model machen?

Code:
model = new DefaultTableModel (0,0); 
TableSorter sorter = new TableSorter(model); // Sortier-Klasse
    table = new JTable(sorter)
    {
        public boolean isCellEditable(int rowIndex, int vColIndex) 
        {
            return false;
        }
    };
    sorter.setTableHeader(table.getTableHeader());
    getContentPane().add(new JScrollPane(table), BorderLayout.SOUTH);
                        
    columnModel = table.getColumnModel(); 
    table.getTableHeader().setReorderingAllowed(false);
    table.addMouseListener( new MouseAdapter() 
    {
        public void mouseClicked(MouseEvent e)
        {
            int mask = e.getModifiers(); 
            if ( (mask&InputEvent.BUTTON1_MASK) == mask) 
            { 
            // Code for left mouse button 
            sendButton.setEnabled(false);
            table.setRowSelectionAllowed(true);
            table.setColumnSelectionAllowed(false);  
            int selectedRow = table.getSelectedRow();
            int ret = JOptionPane.showConfirmDialog(EmailClient.this, "Row " 
+ (selectedRow+1) + " will be deleted, please confirm!", "Deletion validation",
            JOptionPane.YES_NO_OPTION,
            JOptionPane.WARNING_MESSAGE); // Diese Meldung stimmt
            if (ret == JOptionPane.YES_OPTION)
                model.removeRow(selectedRow); // hier wird die Zeile gelöscht, aber die Zeile vor der Sortierung
                int numberRows = table.getRowCount();
                valueLabel.setText("               Number of rows: " + numberRows);
                valueProg.setText("x  of x Emails");
                return;
        }
 

Mag1c

Top Contributor
Hi,

du mußt den View-Index ( table.getSelectedRow() ) noch in einen Model-Index umrechnen, da der Sorter nicht dein Model umsortiert sondern nur als Vermittler zwischen Table und Model aggiert.

Code:
int selectedRow = sorter.modelIndex(table.getSelectedRow());

Gruß
Mag1c
 

Mag1c

Top Contributor
Aehm,

zur Anzeige mußt du natürlich den originalen Index "table.getSelectedRow()" nehmen.

Gruß
Mag1c
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Punkt von MouseListener hat falsche Koordinate AWT, Swing, JavaFX & SWT 2
S JavaFX JavaFX TableView scrollen färbt falsche Zeilen AWT, Swing, JavaFX & SWT 1
Blender3D Falsche Werte mit Java Toolkit Screensize AWT, Swing, JavaFX & SWT 4
H JavaFX - Button und Text - Falsche Darstellung AWT, Swing, JavaFX & SWT 3
T [Neuling] Textfeld Inhalt überprüfen und falsche Stellen als msg Ausgeben AWT, Swing, JavaFX & SWT 1
Arif Swing MouseMotionListener liefert falsche Werte ? AWT, Swing, JavaFX & SWT 7
E ActionListener führt falsche Funktion aus AWT, Swing, JavaFX & SWT 6
L Ausgabe in JEditorPane mittels HTMLEditorKit zeigt auf bestimmten Systemen falsche Zeichen AWT, Swing, JavaFX & SWT 1
V JWindow: Falsche Anzeige auf Ubuntu AWT, Swing, JavaFX & SWT 2
S JTable - 2D ArrayList & Falsche Werte. AWT, Swing, JavaFX & SWT 3
W GridBagLayout Falsche Größenanpassung AWT, Swing, JavaFX & SWT 6
hdi LayoutManager GridBagLayout : Komponente hat falsche Größe? AWT, Swing, JavaFX & SWT 2
F JComboBox gibt falsche werte AWT, Swing, JavaFX & SWT 3
A Label hat falsche Position AWT, Swing, JavaFX & SWT 4
P Frame - falsche Fenstergröße durch Rahmen? AWT, Swing, JavaFX & SWT 5
G JTable liefert falsche Row AWT, Swing, JavaFX & SWT 8
S Falsche Position, Elemente erscheinen nicht, Flackern AWT, Swing, JavaFX & SWT 6
M Falsche if-Anweisung? AWT, Swing, JavaFX & SWT 2
C falsche Pfadangabe bei FileChooser AWT, Swing, JavaFX & SWT 7
M JavaFX TableView nur erste Zeile editable machen und gelb markieren AWT, Swing, JavaFX & SWT 0
F Zeile in mehreren Jtables bei Selektion markieren AWT, Swing, JavaFX & SWT 11
missy72 JavaFX TableRow / RowFactory Zeile einfärben AWT, Swing, JavaFX & SWT 9
T Zelle- und die Zeile-Farbenwechsel bei der Selektion in der Tabelle AWT, Swing, JavaFX & SWT 4
M TableView Zeile hinzufügen AWT, Swing, JavaFX & SWT 5
I JLabel neue Zeile AWT, Swing, JavaFX & SWT 4
B JavaFX TableView eine Zeile markieren AWT, Swing, JavaFX & SWT 5
C SWT Breadcrumb Zeile mit entsprechenden Hyperlinks erstellen AWT, Swing, JavaFX & SWT 0
VfL_Freak Swing Einzelne Zeile in jTable selektieren klappt nicht AWT, Swing, JavaFX & SWT 7
Bluedaishi JTextArea gefundene Zeile nach Oben Scrollen AWT, Swing, JavaFX & SWT 13
B Zeile einer Tabelle selektieren AWT, Swing, JavaFX & SWT 1
T Swing Tabelle mit Button - Anzeigefehler nach Zeile entfernen AWT, Swing, JavaFX & SWT 1
T Swing JTable Zeile mit ausgelesenen Werten mit Hilfe von einem Button hinzufügen AWT, Swing, JavaFX & SWT 1
D JLabel bei Aufruf neue Zeile AWT, Swing, JavaFX & SWT 5
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
J Swing JTable Zeile nicht auswählbar machen AWT, Swing, JavaFX & SWT 0
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
N AWT Markierte Zeile jList aus mySQL DB löschen AWT, Swing, JavaFX & SWT 2
J JTable Zeile anklicken und neues Frame öffnen AWT, Swing, JavaFX & SWT 4
S JTable nach aktualisierung - neue Zeile nicht "klickbar" AWT, Swing, JavaFX & SWT 0
D Swing Letzte Zeile einer JTable nicht über RowSorter sotieren AWT, Swing, JavaFX & SWT 2
M Text Area 1. Zeile oben AWT, Swing, JavaFX & SWT 4
I ausgewählte Zeile mit Hilfe der Tastatur löschen! AWT, Swing, JavaFX & SWT 3
B jTable ganze Zeile anhand eines Kriterium färben AWT, Swing, JavaFX & SWT 6
T JtextPane Zeile aktualisieren AWT, Swing, JavaFX & SWT 3
M JTextArea Zeile hinzufügen AWT, Swing, JavaFX & SWT 4
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
P Swing Alle Zeilen einer Spalte (jTable) zusammen zählen und in eine eigene Zeile das Ergebnis schreiben. AWT, Swing, JavaFX & SWT 7
Ollek Swing JTable - Zeile löschen mit AbstractTableModel AWT, Swing, JavaFX & SWT 20
S Swing Kopieren einer vollständigen Zeile einer JTable AWT, Swing, JavaFX & SWT 3
F GroupableTableHeader zeigt nur eine Zeile AWT, Swing, JavaFX & SWT 4
H Unterschiedliche JComboBox je JTable Zeile AWT, Swing, JavaFX & SWT 4
N Swing FileReader Zeile lesen AWT, Swing, JavaFX & SWT 5
C SWT Wie greife ich auf den Inhalt einer bestimmten Zeile zu? (TableViewer) AWT, Swing, JavaFX & SWT 7
F SWT Tabelle Zeile auslesen AWT, Swing, JavaFX & SWT 3
J Swing JTable: Komplette Zeile aber ohne Spalten markieren AWT, Swing, JavaFX & SWT 11
K Zeile verbinden AWT, Swing, JavaFX & SWT 2
G Zeile in JTable durch rechte Maustaste manipulieren AWT, Swing, JavaFX & SWT 4
S Swing AWT-Exception bei JTable mit JComboBox beim Löschen der letzten Zeile AWT, Swing, JavaFX & SWT 3
S Tabelle sortieren, mit Ausnahme der letzten Zeile AWT, Swing, JavaFX & SWT 9
P Aktuelle Zeile in JTextPane farblich hervorheben AWT, Swing, JavaFX & SWT 3
H Swing JComboBox in einer Zeile AWT, Swing, JavaFX & SWT 3
Meldanor Swing JTable - Eine neue Zeile vor einer bestehenden Einfügen AWT, Swing, JavaFX & SWT 2
F Zusätzliche Zeile in der GUI AWT, Swing, JavaFX & SWT 4
H Zeile in DefaultTableModel hinzufügen, ProgressBar AWT, Swing, JavaFX & SWT 4
H Markierte Zeile löschen AbstractTableModel AWT, Swing, JavaFX & SWT 10
R Zeile in JTable anhand von Wert einfärben AWT, Swing, JavaFX & SWT 2
M Jframe wie bekommt man bei den zeile einen header erzeugen AWT, Swing, JavaFX & SWT 2
N JTable, Zeile bleibt immer selektiert.... AWT, Swing, JavaFX & SWT 3
Dit_ JTextArea zu Zeile X scrollen AWT, Swing, JavaFX & SWT 4
M [erledigt] Bestimmte Zeile aus JTextArea löschen AWT, Swing, JavaFX & SWT 3
F Swing JTable: Problem beim zeile löschen AWT, Swing, JavaFX & SWT 3
J Swing JList... mehrere Strings in Zeile AWT, Swing, JavaFX & SWT 8
N Methode zum ermitteln der editierte Zeile/Zelle in jTable AWT, Swing, JavaFX & SWT 8
C Mit SelectionListener herausfinden welche zeile in Jtable angeklickt wurde AWT, Swing, JavaFX & SWT 5
E In JTable neue Zeile mit Tabulator einfügen AWT, Swing, JavaFX & SWT 5
M Text in txt-Datei in letzte Zeile schreiben? AWT, Swing, JavaFX & SWT 14
R JTable Hintergrund der Zeile abhängig von Inhalt einer Zelle verändern AWT, Swing, JavaFX & SWT 3
Developer_X Swing text von bestimmter zeile in jtextarea herausbekommen. AWT, Swing, JavaFX & SWT 12
R JTable Zeile löschen AWT, Swing, JavaFX & SWT 4
T MyTableCellRenderer selektiert nicht die ganze Zeile AWT, Swing, JavaFX & SWT 3
R FlowLayout: 1 Objekt pro Zeile AWT, Swing, JavaFX & SWT 5
D eigenes Tablemodel, Zeile löschen ArrayindexOOB excp AWT, Swing, JavaFX & SWT 4
C JTable mit RowSorter und Drag & Drop: Zeile verschieben AWT, Swing, JavaFX & SWT 4
P JTable zeile einfärben AWT, Swing, JavaFX & SWT 1
N Farbe einer einzelnen Zeile einer JTable ändern AWT, Swing, JavaFX & SWT 10
G Componente Zeile fixieren AWT, Swing, JavaFX & SWT 3
dl85hej bestimmte Zeile anspringen AWT, Swing, JavaFX & SWT 3
S Zeile an eine Tabelle anfügen AWT, Swing, JavaFX & SWT 5
R JTable: Zellen einer Zeile zusammenfassen? AWT, Swing, JavaFX & SWT 3
D JTable um eine Zeile erweitern AWT, Swing, JavaFX & SWT 4
P Tabellen in Java - Zeile anhängen AWT, Swing, JavaFX & SWT 19
GilbertGrape JTable - immer leere Zeile AWT, Swing, JavaFX & SWT 6
A JTable zeile auswählen AWT, Swing, JavaFX & SWT 2
A JXTable jede zweite Zeile einfärben AWT, Swing, JavaFX & SWT 4
S in JTable eine Zeile färben AWT, Swing, JavaFX & SWT 5
T JTable ohne Titel in der ersten Zeile AWT, Swing, JavaFX & SWT 2
K leere Zeile zu JTable zufügen AWT, Swing, JavaFX & SWT 2
T jtabel - Zeile selktierbar aber nicht editierbar AWT, Swing, JavaFX & SWT 2
E JTable letzte Zeile in Fett schrift? AWT, Swing, JavaFX & SWT 3
O JTable + event wenn andere Zeile selektiert ist AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben