Wie kann ich ListView
mit Löschen-Taste auf jeder Zeile erstellen und Schaltfläche Aktion in JavaFX löschen?ListView mit Delete Button auf jeder Zeile in JavaFX
Antwort
Hier ist ein SSCE, die auf this anwer hauptsächlich beruhte.
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.Priority;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class SO extends Application {
static class XCell extends ListCell<String> {
HBox hbox = new HBox();
Label label = new Label("");
Pane pane = new Pane();
Button button = new Button("Del");
public XCell() {
super();
hbox.getChildren().addAll(label, pane, button);
HBox.setHgrow(pane, Priority.ALWAYS);
button.setOnAction(event -> getListView().getItems().remove(getItem()));
}
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
setText(null);
setGraphic(null);
if (item != null && !empty) {
label.setText(item);
setGraphic(hbox);
}
}
}
@Override
public void start(Stage primaryStage) throws Exception {
StackPane pane = new StackPane();
Scene scene = new Scene(pane, 300, 150);
primaryStage.setScene(scene);
ObservableList<String> list = FXCollections.observableArrayList(
"Item 1", "Item 2", "Item 3", "Item 4");
ListView<String> lv = new ListView<>(list);
lv.setCellFactory(param -> new XCell());
pane.getChildren().add(lv);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Die wichtigste Änderung ist diese Linie
button.setOnAction(event -> getListView().getItems().remove(getItem()));
, wo das Element, dass diese Zelle aus dem Artikel Liste der ListView
entfernt darstellt.
Danke, Vielen Dank –
Danke, Vielen Dank, –
Es funktioniert ....... –
- 1. JavaFX - ListView Item mit einem Image Button
- 2. TextView und Button in jeder Zeile und onListItemClick()
- 3. php post delete button
- 4. JavaFx Button Enabler in Listenansicht
- 5. Button-Ausrichtung in JavaFX
- 6. Listview in javafx
- 7. Button mit zwei Farben auf jeder Seite
- 8. ein Button in JavaFX
- 9. RotationAsync mit jeder Zeile in Listenansicht
- 10. JavaFX Textbereich: Hinzufügen von "-" am Ende jeder Zeile
- 11. JavaFX 8, ListView mit Checkboxen
- 12. Schaltfläche in jeder Zeile hinzufügen Ich erstelle in WPF listview
- 13. Löschen der Zeile der SQLite-Datenbank mit einer Schaltfläche in jeder Zeile von ListView
- 14. JavaFX Element in ListView auswählen
- 15. Android Listview mit Radio-Button
- 16. Ionic delete button in der Kopfansicht toggle delete button in der Listenansicht
- 17. JavaFX ListView Mehrfachauswahl
- 18. JavaFX - Benutzerdefinierte ListView-Darstellung
- 19. JavaFX Material Button Animation
- 20. JavaFX Button Hover-Skalierung
- 21. JavaFX Button released event
- 22. JavaFX GUI - Warum funktioniert die Delete Button Funktion nicht mit dem TableView?
- 23. JavaFX - CSS Styling Listview
- 24. Ändern ListView Schriftgröße in JavaFX
- 25. Probleme mit der Web-Seite mit Gridview mit HTML-Button in jeder Zeile
- 26. FXML, JavaFX 8, TableView: Machen Sie eine Lösch-Taste in jeder Zeile und löschen Sie die Zeile entsprechend
- 27. JavaFX Focused Button UnderLine
- 28. jqGrid: Wie fügt man den Bearbeitungs-und Lösch-Button in jeder Zeile mit aktivierter Formularbearbeitung hinzu?
- 29. Image button javafx
- 30. Listview onClick Button (Android Xamarin)
Wie kann ich eine Aktion zum Löschen einer Zeile festlegen? –
Wer hier kann mir helfen? –
Erstellen Sie benutzerdefinierte 'ListCell' und' setCellFactory() 'Ihrer' ListView'. – MBec