Ich habe ein seltsames Problem - nicht sicher, ob es einen Codierungsfehler oder einen Fehler in CN1 gibt.Warum ist in CodenameOne ein Kontrollkästchen nicht ausgewählt, aber ausgewählt?
Grundsätzlich erstelle ich eine Reihe von CheckBox-Objekten und lege sie in einen Container, der X-Scrollable ist. Wenn ich auf ein nicht ausgewähltes Element klicke und ziehe, bis der "elastische" Effekt es zurückzieht, scheint es ausgewählt zu sein, aber der Code zeichnet es nicht als ausgewählt auf.
Bitte beachten Sie das folgende Video von der Ausgabe: https://youtu.be/EtputE1kjyo
Beachten Sie, dass in der Konsole ausgegeben, das Wort ‚ausgewählt‘ werden aktiviert, wenn das Feld ausgewählt und Klein wurde, wenn es nicht ausgewählt ist. Gleiches für den Fokus (Ich habe der Ausgabe Fokus hinzugefügt, um festzustellen, ob setFocusable() wie gewünscht funktioniert hat, so dass der Fokus nicht für den Auswahlfehler verantwortlich war).
hier ist die Checkbox Erstellungscode:
cb = new CheckBox(getCacheableImageMaxHeight(mod.getIconFile(),moduleImageHeight));
cb.setName(mod.getModuleID());
cb.setToggle(true);
cb.setUIID("ModuleButton");
cb.setFocusable(false);
cb.setScrollVisible(false);
cb.setTextPosition(Component.BOTTOM);
cb.setCloudDestinationProperty(cb.getName());
//actionlistener added for debugging only
final CheckBox cbFinal = cb;
final String modName = mod.getDisplayName();
cb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
System.out.println(modName+", "+(cbFinal.isSelected()?"SELECTED":"selected") + ", " + (cbFinal.hasFocus()?"FOCUS":"focus"));
}
});
c.addComponent(cb);
UPDATE: Ich habe erkannt, zwei „Zustände“ im Krieg dort befinden sich hier: Die ToggleButtons (Ich weiß, jetzt sind sie, da ich nicht nur Checkboxen Set "SetToggle (true)) bleiben beim Drücken und Loslassen mit dem" elastischen "Effekt im" gedrückten "Zustand hängen. Leider haben die" gedrückten "und" ausgewählten "Zustände das gleiche Aussehen, so dass meine Benutzer denken Sie haben etwas ausgewählt, wenn es während eines Ziehvorgangs nur "gedrückt" wird.
Hier ist noch mehr Debugging, das ich getan habe.
- Die erste Taste gedrückt wird, aber (die Fehler) nicht ausgewählt.
- Die zweite Schaltfläche ist normal ausgewählt und zeigt den Fehler nicht an.
- Die dritte Schaltfläche ist interessant, weil ich sie ausgewählt, dann gezogen und freigegeben habe, um sie AUSGEWÄHLT und GEPRESSEN zu bekommen!
Also die Frage Änderungen: Gibt es einen offenen Fehler für diese Situation bereits (Gedrückt Zustand auf, nachdem klemmt Taste losgelassen wird) und wenn ja, ist es ein Update kommt oder eine Abhilfe für jetzt?
Ich denke, es ist, weil 'CheckBox' eingestellt ist, um als' ToggleButton' zu fungieren, und Ihr Klicken zum Ziehen für das Scrollen bleibt ein bisschen zu lang. – Diamond