Jlist getSelectedIndices geht net

  • Themenstarter Themenstarter bygones
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

bygones

Gast
habe folgenden Code
Code:
public class CheckBoxList extends JList {
    protected static Border noFocusBorder = new EmptyBorder( 1, 1, 1, 1 );
    private Vector<JCheckBox> v1;
   
    public CheckBoxList(Vector<JCheckBox> v) {
        super(v);
        v1 = v;
        setCellRenderer( new CellRenderer() );

        addMouseListener( new MouseAdapter() {
            public void mousePressed( MouseEvent e ) {
                int index = locationToIndex( e.getPoint() );

                if ( index != -1 ) {
                    JCheckBox box = v1.get(index);
                    box.setSelected( !box.isSelected() );
                    repaint();
                }
            }
        } );
    }

    private static class CellRenderer implements ListCellRenderer {
        public Component getListCellRendererComponent( JList list,
                Object value, int index, boolean isSelected,
                boolean cellHasFocus ) {
            JCheckBox checkbox = ( JCheckBox ) value;
            return checkbox;
        }
    }
anzeige klappt einwandfrei. nur wenn ich mehrere boxen selektiere und dann per getSelectedIndices darauf zugreifen will, liefert er mir einen 1großen array mit dem letzten selektiereten Objekt....

was muss ich noch schreiben, damit er mir alle selektierten zurückliefert ??

THX
 
Ich hatte mal ein aehnliches Problem, und die Methode "equals" war der Uebeltaeter. Ueberpruefe mal, ob zwei verschiedene ComboBoxes in deiner Liste auch wirklich bei equals false zurueckgeben.

Wieso speicherst du nicht einfach ein Wrapper mit einem Boolean (und einem String 🙂 ) in der Liste? Das waere doch sicher performanter als CheckBoxen?
 
oh mann - bin ja auch selten blöd !!

Das selektieren einer Checkbox und die Selektion der Liste sind ja zwei versch. sachen... ich kann noch so viel Checkboxen selektieren, getSelectedIndices liefert immer die selektieren listeneinträge zurück.-...

*anKopfFass*
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben