按钮不显示在java-fx的tablecolumn中

时间:2017-12-11 03:16:18

标签: button tablecolumn

这是代码:Contoller类: @FXML private TableView<User> table; @FXML private TableColumn<User,String> view;

方法(){.....          `view.setCellValueFactory(                     新的PropertyValueFactory(“DUMMY”));

        Callback<TableColumn<User, String>, TableCell<User, String>> cellFactory
                = new Callback<TableColumn<User, String>, TableCell<User, String>>() {
            public TableCell call( TableColumn<User, String> param) {
                final TableCell<User, String> cell = new TableCell<User, String>() {

                    Button btn = new Button("View");

                    @Override
                    public void updateItem(String item, boolean empty) {
                        super.updateItem(item, empty);
                        if (empty) {
                            setGraphic(null);
                            setText(null);
                        } else {
                            btn.setOnAction(new EventHandler<ActionEvent>() {
                                public void handle(ActionEvent e) {
                                User user = getTableView().getItems().get(getIndex());
                                System.out.println(user.username
                                        + "   " + user.name);
                                }
                            });

                            setGraphic(btn);
                            setText(null);
                        }
                    }
                };
                return cell;
            }
        };

        view.setCellFactory(cellFactory);
       //add observablelist
       table.getItems().setAll(datas);
}`  

我从这里借了代码:How to add button in JavaFX table view 事实上,我的View列中没有任何视图。 编译器抱怨我不能在jdk 1.7中使用无参数的新PropertyValueFactory&lt;&gt;(“DUMMY”)) 而且为什么我不能将这样的表达式用于按钮列@FXML私有TableColumn视图? 我还应该注意到我用lambda改变了原始代码(可能只是在1.8中)。

0 个答案:

没有答案