如何在JavaFX中创建listview
每行都有删除按钮和删除按钮操作?
这里有一个SSCE主要是基于这个ANWER。
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);
}
}
最重要的修改是这一行
button.setOnAction(event -> getListView().getItems().remove(getItem()));
其中此单元格表示的项从ListView
的项列表中移除。
我正在开发一个android应用程序,其中我制作了一个ListView。我必须为ListView中的每一行添加两个按钮。这两个按钮分别是“添加”和“删除”。当用户选择其中一个按钮时,应采取一些措施。我该怎么做?
我正在使用JavaFX构建一个calander/planner应用程序。该应用程序包括一个单一的GridPane与35(7x5)VBox的。在这些VBox中有任务按钮(在下面实现)。当我右键单击任务框时,它将把文本变成灰色,当我左键单击TsskButton时,我希望它删除按钮。我已经知道的事情。 AnchorPaneNode(扩展VBox)没有静态getChildren()方法 我无法为窗格创建单
我试图创建一个应用程序,用户在其中输入多个边,然后单击按钮,从场景中删除任何当前形状,并生成具有指定边数的形状。 虽然生成形状的逻辑正在工作,但实现似乎不起作用? 任何帮助都非常感谢,谢谢!
我有一个TableView,它沿着一列生成按钮: 构建任务管理应用程序。我希望能够删除按钮所在的行,而不是按下相应按钮时选择的行。 My table类实现了EventHandler,因此按下TableView中的按钮时会运行handle()方法: 唯一缺少的是如何检测按下按钮的行,然后将其删除(因为所有按钮都运行相同的句柄方法)。非常感谢你的帮助。 为清晰起见,请将代码转储到此处:https://
我正在用C#WPF做一个项目,它包含在一个客户机管理中,在那里我添加了新的客户机,在一个txt文档中有save,我有一个listview,在那里我可以看到所有添加的客户机,但现在我想实现一个delete按钮,在那里我从listview中选择一个客户机,并可以删除它。如果我现在做的正确,如果有人能帮我…,…谢谢。
我在excel表中有从A列到F列的数据。 我在页面中间的其他列中创建了一个按钮,比如H5 有什么方法可以保留按钮,即使整个行被删除。我尝试锁定单元格,窗格和拆分。 但运气不好。你能帮我做这件事吗?