Swing Problem mit JCheckBox auf JPanel in JScrollPane

Sanguinus

Mitglied
Hallo Leute,

ich versuche gerade ein Programm zu schreiben, dass aus einer bestimmten HTML-Seite Links ausliest und diese herunterlädt (ganz grob). Nun möchte ich den User entscheiden lassen, welche Links er downloadet und welche nicht. Dazu benutze ich JCheckboxes, die einem JPanel hinzugefügt werden, welchen selbst Teil eines JScrollPanes ist. Wenn das Programm jetzt die Checkboxen zum Panel hinzufügt, wird leider das ScrollPane "unauswählbar", besser gesagt, ich kann die vertikale ScrollBar (always) nicht auswählen.

Hier der - mMn - verantwortliche Code

Java:
    private void addLinks(ArrayList<String> links) {
        boxPanel.removeAll();
        mySPane.removeAll();
        for(int i=0;i<links.size();i++) {
            myBoxes.add(new JCheckBox(links.get(i).split("/")[links.get(i).split("/").length-1],true));
            myBoxes.get(i).setToolTipText(links.get(i));
            myBoxes.get(i).setVisible(true);
            myBoxes.get(i).setBounds(0,20*(i),350,20);
            boxPanel.add(myBoxes.get(i));
            boxPanel.revalidate();
        }
        mySPane.add(boxPanel);
    }

ich wäre sehr dankbar, wenn ihr mir helfen könntet.

Sanguinus
 
Kann mir wirklich niemand weiterhelfen? Wäre echt sehr nett.
Falls ich irgendwas schlecht/ falsch beschreibe, sagt es mir bitte, dann versuche ich es zu verbessern
 
Wenn du jetzt mal mySPane.removeAll() weg lässt..
Wird zwar Scrollpane immer voller aber du könntest sehen, ob da der Fehler liegt..
Ich vermute dass sich das Scrollpane mit RemoveAll() selber lahmlegt..
Habs aber nie getestet!!!
 
am Ende von GUI-Veränderungen
validate();
repaint();
am JFrame aufrufen

removeAll() in einem ScrollPane ist in der Tat schlecht,
wenn dann mit setViewportView(null) oder setViewportView(component) das angezeigte Element ändern,
hier aber anscheinend gar nichts nötig

mit deiner ersten Antwort am 16.01.2011, 17:42 hast du das Thema übrigens aus der Liste der Unbeantworteten Themen entfernt,
java-forum.org - Suchergebnisse
mir persönlich wäre es ansonsten die nächsten Tage bestimmt aufgefallen, so nicht mehr
 
Zuletzt bearbeitet von einem Moderator:
Ich hab es gerade mal kurz durchprobiert und das scheint wirklich der Fehler gewesen zu sein. Werde es mir heute abend nochmal genauer ansehen. Vielen Dank auf jeden Fall schon mal.
 
Genau das war das Problem gewesen. Vielen Dank nochmal.
Jetzt tut sich mir leider ein neues Problemchen auf. Mein JPanel mit den JCheckBoxes hat ein GridLayout mit einer Spalte (also vertikale Anordnung). Die JCheckBoxes werden jedoch leider so in die Länge gezogen, dass ein riesiger Abstand zwischen ihnen entsteht (ja, ich übertreibe ein wenig). Ist es irgendwie möglich, die Höhe (hight) der JCheckBoxes zu begrenzen?
 
Hab jetzt das BoxLayout verwendet. Ich dachte es eig auch vorher schon mal ausprobiert zu haben, jedoch ohne Erfolg. Naja, jetzt funktioniert es genau so wie ich es mir gewünscht hatte.

Vielen vielen Dank

Sanguinus
 

Zurück
Oben