問題タブ [treetableview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JavaFX TreeTableView編集モードが望ましくなくキャンセルされるのはなぜですか?
次のワークフローが意図されています: ユーザーがボタンをクリック -> 選択した TreeItem で、新しい TreeItem を作成する必要があります。次のスクリーンショットに示すように、選択した TreeItem が展開され、新しい TreeItem が表示され、編集モードに入る必要があります。
残念ながら、編集モードは 99% ですぐにキャンセルされるようですが、非常にまれなケースでセルが編集モードのままになっています。独自の CellFactories と Editable-Cells を実装しようとしましたが、このユースケースでは常に同じ状況に陥ります。ここで私が間違っていることを知っている人はいますか?
ケースを示すために小さな例を作成しました。
データクラス:
java - TableView/TreeTableView の focusLost でコミットを有効にする方法は?
TreeTableView (または TableView) がフォーカスを失ったときに値をコミットしようとする簡単な方法はありますか?
残念ながら、私は javafx TableCellFactories のデフォルト実装で成功しませんでした。そのため、独自の TreeTableCell 実装と、Graham Smithのもののようないくつかの異なる tableCell 実装を試しました。これは、既にフックを実装しているため、最も簡単に思えました。フォーカスが失われますが、値はコミットされず、ユーザーの変更は元の値にリセットされます。
私の推測では、フォーカスが失われるたびに、影響を受けるセルの editProperty は常に既に false であるため、セルが focusLost に値をコミットすることはありません。ここで、元の (oracle-)TreeTableCell 実装 (8u20ea) の関連部分を示します。これにより、私のアプローチは失敗します。
このメソッドをオーバーライドし、元の commitEdit() メソッドが呼び出される前に値を「手動で」コミットすることに成功しましたが、これにより、Enter などのキーでコミットすると、値が 2 回コミットされます (キー + フォーカスが失われた場合)。さらに、私は自分のアプローチがまったく好きではないので、他の誰かがこれを「より良い」方法で解決したのではないかと思いますか?
javafx-8 - JavaFX 8 TreeTableColumn setText ClassCastException
私の状況は次のとおりTreeTableView
ですTreeTableColumn
。列見出しのテキストは実行時に変更されます。
ステージを表示する前setText
または途中でテキストを変更すると、すべて期待どおりに機能します。しかし、ステージを見せた後
にテキストを変更すると、大量の.
Java SE 1.8.0 b132 と Java 1.8.0_20 b17 EA でこれを試しました。textProperty().bind(...)
java.lang.ClassCastException
を再作成する以外に、これに対する回避策はありTreeTableColumn
ますか?
私のサンプルコード:
例外(をクリックした後TreeTableView
):
UPDATE 08/04/2014:
バグレポートを javafx-jira に提出:
https://bugs.openjdk.java.net/browse/JDK-8095931
UPDATE 08/05/2014:
修正バージョンは次のようになります: 8u40
@thatjavaguy09 修正は機能します。
こんにちは、カルシュ
javafx - TreeTableView コントロールの列ヘッダー スパニング機能を実装する方法は?
下の図 ( source ) では、Balance
列のスパンIncome
とSpending
列が示されています。これを達成する方法に関する情報が見つかりません...
どんな助けでも大歓迎
javafx - treetableview のフィルタリングを実装する方法
TreeTableView コンポーネントのフィルタリングを実装する方法を教えてください。私はjdk 1.8.20を使用しています
java - JavaFX TreeTableView列setOnEditCommit()は、編集されたセルを保存するハンドラの受け入れを拒否します
私のプロジェクトでは、JavaFX の TreeTableView を使用して、BillingTableRow タイプのオブジェクトをいくつか表示しています。セル エディターを実装しましたが、onEditCommit イベントを設定しようとすると、一致するコンテンツ タイプを取得できません。
タイプ BillingTableRow のオブジェクト内にタイプ String の名前を格納する列の 1 つのコードを次に示します。
誰かが何が悪いのか教えてもらえますか? Eclipse で次のエラーが発生します。
TreeTableColumn 型の setOnEditCommit(EventHandler< TreeTableColumn.CellEditEvent>) メソッドは、引数 (new EventHandler< TableColumn.CellEditEvent< BillingTableRow,String>>(){}) には適用されません。
私の問題について何か助けていただければ幸いです。
java - JavaFX TreeTable CellFactory コールバック内から変数を取得
BillingTableRow タイプのアイテムを含む JavaFX TreeTableView を使用しています。BillingTableRow のメソッド getType() によって指定された値に基づいて列のスタイルを設定したいのですが、設定しようとしているコールバック内からアクセスできないようです。これが私のコードです:
それを機能させるには、(...) を何に置き換える必要がありますか?
javafx - カスタムツリーテーブルビューの順序
複数の列を持つtreetableviewがあります。1列だけ注文したいので、適用します:
この注文データは列「カテゴリ」のアルファベット順ですが、カスタム注文を適用したいと思います。
たとえば、カテゴリが次の値のいずれかである場合: 動物、コンピューター、靴、乗り物... 上記の文では、次の方法でツリーの順序を取得します。
- 動物
- コンピュータ
- 靴
- 車
しかし、私が望むなら(他のカスタムオーダーでもかまいません):
- コンピュータ
- 靴
- 動物
- 車
JavaFXでできること、できないことはありますか?