色を選択する前に色を覚えているトグルボタンを作成しようとしています。たとえば、黒ボタンを選択すると灰色になり、選択解除すると黒に戻ります。選択解除後に前の色を維持するToggleButton
、彼らが与えられているボタンが作成されると、これらのプロパティ:
public void setPerformAction(ToggleButton cell) {
if(cell.isSelected()) {
cell.setStyle("-fx-border-color: red");
}
else{
cell.setStyle("-fx-border-color: black");
}
}
黒と白のは、次のように適用された:イベントだ
cell.setStyle("-fx-border-color: black; -fx-background-color: gray; -fx-base: gray; -fx-border-width: 1");
cell.setOnAction(event -> setPerformAction(cell));
cell.setStyle("-fx-base: white; -fx-background-color: white; -fx-border-width: 1");
しかし、下のgifにあるように、ボタンが選択解除されると、それらのボタンはすべて別の色に戻ります。彼らは以前の色をどのように覚えていますか?
これらのボタンは実行時に動的に生成されるため、シーンビルダでは表示されず、CSSコードは表示されません。
答えに最初のコードスニペットをどのように使用しますか?これをfxmlファイルに入れますか? '> 'はそれをトグルボタンにリンクしていますか?また別のfxmlファイルに配置しますか? – shinzou
@kuhaku最初のコードスニペットは、それ自身のファイルです。 fxmlファイルとともに使用する場合は、 'style.css'という名前をつけ、fxmlファイルと同じディレクトリに置かなければなりません(' stylesheets = "@ style.css" ')。しかし、それは 'Scene '(https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Scene.html#getStylesheets--)または親(https:///docs.oracle.com/javase/8/javafx/api/javafx/scene/Parent.html#getStylesheets--)、https://docs.oracle.com/javase/8/javafx/api/javafx/も参照してください。 scene/doc-files/cssref.html#introstylesheets – fabian
これはうまくいきません。私は動的にボタンを作成します。http://pastebin.com/Yq3gG6P0また、ペインにCSSファイルを与えました。パスに問題はありません。 .. – shinzou