質問編集履歴

1 実装内容を記載するため

mugichon

mugichon score 56

2017/05/10 20:58  投稿

JavaFXでボタンに紐付けられたプロパティをリストビューに表示したい
ボタン毎にプロパティ値を持つようなオブジェクトを作成しています。
ボタンを押したらそのボタンの持つプロパティをリストビューに表示したいと考えていますが、
どのように実装したら良いか全く見当が付きません。。
```lang-java
ObservableList<ButtonProp> buttonprop buttonprop=FXCollections.observableArrayList( new ButtonProp("123","456") , new ButtonProp("aaa","bbb"));
tableview.setItems(buttonprop);
tableview.setEditable(true);
propertyvalue.setCellFactory(new Callback<TableColumn<ButtonProp,String>, TableCell<ButtonProp,String>>() {
@Override
public TableCell<ButtonProp, String> call(TableColumn<ButtonProp, String> arg0) {
return new TextFieldTableCell<>(new DefaultStringConverter());
}
});
propertyname.setCellValueFactory( new PropertyValueFactory<>("propertyname"));
propertyvalue.setCellValueFactory( new PropertyValueFactory<>("propertyvalue"));
```
リスト表示するだけであれば上のソースで出来るのですが、
リストビューの中身を変更したときの反映方法(プロパティ値の上書き)や、
ボタンを押す毎にリストビューを書き換える方法、ボタンクラスとの関連付け等、
さっぱりな状態です。
なお、ボタンクラスはButtonを継承してプロパティを持っている状態です。
こんな状態ですが、よろしくお願いいたします。
こんな状態ですが、よろしくお願いいたします。
---
元々は、以下のような実装を考えていました。
>Button1: {"key1": "1", "key2": "2"}
>Button2: {"key1": "1","key3": "3", "key4": "3"}
Button1をクリックしたら、
|key|value|
|:--|--:|
|key1|1|
|key2|1|
Button2をクリックしたら、
|key|value|
|:--|--:|
|key1|1|
|key3|3|
|key4|3|
という動作を考えていました。
すみません、もっと自然ではないかもしれません。。
ですので、全てのボタンでプロパティのキーは固定で値のみ変更される
という動きが良いかと思っています。
記載頂いたとおり、
Button1: {"key1": "11", "key2": "12"}
Button2: {"key1": "21", "key2": "22"}
とあった場合、Button1をクリックしたら、
|key|value|
|:--|--:|
|key1|11|
|key2|12|
Button2をクリックしたら、
|key|value|
|:--|--:|
|key1|21|
|key2|22|
を表示されたいと考えています。
すみませんが、よろしくお願いいたします。
  • JavaFX

    730 questions

    JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る