ie Schaltfläche zum Filtern von JTable für das Kontrollkästchen ist ausgewähl

Ich habe eine JTable, die dieser ziemlich ähnlich ist.

http: //docs.oracle.com/javase/tutorial/uiswing/components/table.html#sortin

Ich habe es geschafft, einen normalen Filter darauf zu setzen (eine Suchfunktion) und es funktioniert gut. Ich möchte eine Schaltfläche, die sofort nur die Zeilen anzeigt, in denen Vegetarisch aktiviert ist.

Ok also jetzt dank der Hilfe von @peeskillet und @HovercraftFullOfEels ist dies die Lösung für mein Problem:

final TableRowSorter<MovieReviewTableModel> rowSorter = new TableRowSorter<MovieReviewTableModel>(tableModel);



// custom RowFilter 
            RowFilter<MovieReviewTableModel, Integer> filter = new RowFilter<MovieReviewTableModel, Integer>()
            {
                // include method returns true to show the row and false to not show it
                @Override
                public boolean include(RowFilter.Entry<? extends MovieReviewTableModel, ? extends Integer> entry)
                {
                    int modelRow = entry.getIdentifier(); //row index
                    boolean checked = ((Boolean)entry.getModel().getValueAt(modelRow, 3)).booleanValue();
                    System.out.println(checked); // to test the values coming through
                    return checked;
                }

            };

            table.setRowSorter(rowSorter);

            JButton onlyFeatured = new JButton("Only show Featured");
            threeButtonPanel.add(onlyFeatured);

            onlyFeatured.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent event)
                {
                    rowSorter.setRowFilter(filter);
                }
            });

Es klappt! Vielen Dank Jungs, ich schulde dir was zu trinken oder so. : D

Antworten auf die Frage(2)

Ihre Antwort auf die Frage