
はじめての質問となります。
宜しくお願いします。
現在、JavaFXでアプリケーションを作成しています。
やりたいことは、表(TableView)に1つチェックボックスカラムを設けて、
表外にあるボタン(削除ボタン)を押すと、どの行のチェックボックスが選択行のみ処理をしたいというものです。
ボタン押下アクションで、表中のチェックボックスが選択されている行の
データを削除するということをやりたいのですが、
★の部分でチェックボックスの選択結果(true・false)が
常時nullとなってしまします。
何か実装が足りないということがあると思っています。
恐れ入りますが、ヒントをご教授頂けたら幸いです。
以下に現状のコードを貼り付けます。
■FXML
<TableView fx:id="resultTbl" editable="true" layoutX="15.0" layoutY="150.0" prefHeight="500.0" prefWidth="400.0">
<columns>
<TableColumn fx:id="checkColumn" prefWidth="40.0" style="-fx-alignment: top-center;" />
<TableColumn fx:id="statusColumn" prefWidth="75.0" style="-fx-alignment: top-center;" />
<TableColumn fx:id="codeColumn" prefWidth="75.0" style="-fx-alignment: top-center;" />
</columns>
</TableView>
<Button fx:id="delBtn" layoutX="207.0" layoutY="644.0" mnemonicParsing="false" onAction="#delAction" prefHeight="22.0" prefWidth="88.0" text="削除" />
■コントローラー
/**
* テーブル
*/
@FXML
private TableView<FxConvDataListTableRow> resultTbl;
/**
* 選択チェックボックスカラム
*/
@FXML
private TableColumn<FxConvDataListTableRow, Boolean> checkColumn;
/**
* 状態カラム
*/
@FXML
private TableColumn<FxConvDataListTableRow, String> statusColumn;
/**
* コードカラム
*/
@FXML
private TableColumn<FxConvDataListTableRow, String> codeColumn;
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
checkColumn.setCellFactory(CheckBoxTableCell.forTableColumn(checkColumn));
checkColumn.setCellValueFactory(new PropertyValueFactory<FxConvDataListTableRow, Boolean>("check"));
statusColumn.setCellValueFactory(new PropertyValueFactory<FxConvDataListTableRow, String>("status"));
codeColumn.setCellValueFactory(new PropertyValueFactory<FxConvDataListTableRow, String>("code"));
}
/**
* 削除ボタン押下アクション
*/
public void delAction(){
// 一覧を繰返し
for(Iterator<FxConvDataListTableRow> i = resultTbl.getItems().iterator();i.hasNext();){
// 一覧
FxConvDataListTableRow iData = (FxConvDataListTableRow) i.next();
★ System.out.println(iData.getCheck() + ":" + iData.getCode());
}
}
■データクラス(行データ)
public class FxConvDataListTableRow {
/**
* 選択
*/
private Boolean check;
/**
* 状態
*/
private String status;
/**
* コード
*/
private String code;
/**
* @return check
*/
public Boolean getCheck() {
return check;
}
/**
* @param check セットする check
*/
public void setCheck(Boolean check) {
this.check = check;
}
/**
* @return status
*/
public String getStatus() {
return status;
}
/**
* @param status セットする status
*/
public void setStatus(String status) {
this.status = status;
}
/**
* @return code
*/
public String getCode() {
return code;
}
/**
* @param code セットする code
*/
public void setCode(String code) {
this.code = code;
}
}

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メンバ変数の隠蔽
-
Thread.sleepのInterruptedExce...
-
C# 親フォームで指定した値を...
-
C# メソッドが実行されているか...
-
プログラミングお願いします(JAVA)
-
大量のデータを読み込んで表示...
-
ボタンの複数割り当てについて
-
Androidでこのエラーを解決した...
-
C# DataGridView列カスタマイズ
-
javaで質問です。 文字列2023/2...
-
System.err. printlnとSystem.o...
-
一定のスペースを空けて端を揃...
-
C言語のポインターに関する警告
-
EclipseでJava
-
動的配列が存在(要素が有る)か...
-
配列の中に複数存在する数がい...
-
ページング
-
文字列の引き算
-
IF関数でEmpty値を設定する方法。
-
「配列定数は、イニシャライザ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
C#で、あるクラスのメンバーす...
-
ボタンの複数割り当てについて
-
コンボボックスを使う時の警告
-
C# DataGridView列カスタマイズ
-
Junitテストでvoid戻り値メッソ...
-
C# 矢印キーの取得
-
C# visibleプロパティをfalseに...
-
C#でのWNetAddConnection3の使...
-
C# WinForm のDataGridView Cel...
-
GOF本のStrategyのJava版での質...
-
以下のコードのどこが問題なの...
-
イメージボタンを作成したいの...
-
Androidでこのエラーを解決した...
-
Javaでウィンドウ作成について
-
C#で、定数をフラグ(if文)に...
-
C# 親フォームで指定した値を...
-
Windowsのリソース作成について
-
javaの同期について
-
javaアプレット repaintのタイ...
おすすめ情報