0

ここに画像の説明を入力テーブルビューデータ(任意の行データ)にエラーがある場合、開始セルのグラフィックをエラー画像に設定したい.更新メソッド内で次のコードを使用しています。

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");
          }

ここで、データが16進値であるかどうかをセルデータで確認しています.16進以外が入力されている場合は、セルの色を赤に変更しています.1番目のセルにアイコンのようなエラーを表示したい.どうすればよいですかテーブルビューから最初のセルを取得し、その上にグラフィックを設定します。画像に示すように、ユーザーが間違った値を入力したセルに関連してエラーを表示できますが、それとともに表示したいコマンドセルのエラーアイコンTX_default またはセル全体を強調表示したい .これに関するヘルプは本当に感謝しています

4

1 に答える 1

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);
            }
        }
    };

ここに画像の説明を入力

于 2013-11-12T11:35:13.433 に答える