【问题标题】:How can i get a specific cell in update method of javafx table view?如何在 javafx 表视图的更新方法中获取特定单元格?
【发布时间】:2013-11-12 10:56:07
【问题描述】:

当表格视图数据(任何行数据)有任何错误时,我想将起始单元格的图形设置为错误图像。我在更新方法中使用以下代码。

public void updateItem(String item, boolean empty) {

          super.updateItem(item, empty);
          String text = getString();
          setText(empty ? null : text);
          String text2 = text.trim();

          boolean isHex = text2.matches("^[0-9A-Fa-fx]+$");
          // Pattern compile = Pattern.compile("^[0-9A-Fa-fx]+.*");
          // Matcher matcher = compile.matcher(text);
          // boolean find = matcher.find();
          // getTableView().getColumns().;
          setGraphic(null);
          if (!isHex) {
            getStyleClass().add("oneCell");

            // this.setTextFill(Color.RED);
            // getTableView().getColumns().get(0;
            revertbackchanges();
            Image error = new Image(getClass().getResourceAsStream("twobuttons/icon_error_1.png"));

          } else {
            setGraphic(null);
            getStyleClass().remove("oneCell");
          }

在这里,我正在检查单元格数据,无论数据是否为十六进制值,如果输入的不是十六进制值,那么我将单元格的颜色更改为红色。现在我想在第一个单元格上显示类似图标的错误。如何从表格视图中获取第一个单元格并在其上设置图形。如图所示,我可以显示与用户输入错误值的单元格相关的错误,但同时我想显示和错误图标命令单元格,即 TX_default 或我想突出显示整个单元格。非常感谢对此的任何帮助

【问题讨论】:

    标签: javafx-2 javafx


    【解决方案1】:

    这次我累了..

    Image img  =new Image(getClass().getResourceAsStream("Add-Male-User-icon.png"));
        ImageView imgs  =new ImageView(img);
    tablecol.setCellFactory(new Callback<TableColumn<CheckDo, String>, TableCell<CheckDo, String>>() {
    
        @Override
        public TableCell<CheckDo, String> call(TableColumn<CheckDo, String> p) {
    
    
             return new TableCell<CheckDo, String>() {
    
            @Override
            public void updateItem(String item, boolean empty) {
                super.updateItem(item, empty);
                if (!isEmpty())
                   this.setGraphic(imgs);
                }
            }
        };
    

    【讨论】:

    • 我可以做到这一点,但我想设置第一个表格视图单元格的图形。像一些错误图标
    • @Rajesh 使用相同的方式,但唯一的变化是给你第一个列名,如“userid”和火灾监听器......火灾后它最终打破它意味着只使用一次
    • @Rajesh 现在我正在编辑上面的答案并且它完美地工作......我希望你现在得到
    • ImageView 是设置图像所必需的...image() 只是提供设置图像资源
    • 感谢您的支持。我可以将颜色和图形放在用户正在编辑的单元格上。但我的要求是在表格第一个单元格上放置颜色或一些错误图形。我用一张图片编辑了我的查询,请看一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多