看起来在JavaFX 8中为面板设置背景颜色存在问题.
我一直在尝试以下,但没有一个设置适当的背景颜色.
VBox panel = new VBox();
panel.setAlignment(Pos.TOP_LEFT);
// None of the below work
panel.setStyle("-fx-background-color: #FFFFFF;");
panel.setBackground(new Background(new BackgroundFill(Color.WHITE, CornerRadii.EMPTY, Insets.EMPTY)));
Run Code Online (Sandbox Code Playgroud)
我设置背景颜色的方式有问题吗?这曾经用于早期版本的JavaFX 2.2.
谢谢.
Sir*_*h V 20
panel.setStyle("-fx-background-color: #FFFFFF;");
Run Code Online (Sandbox Code Playgroud)
Jam*_*s_D 17
这些都适合我.也许发布一个完整的例子?
import javafx.application.Application;
import javafx.beans.binding.Bindings;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.ToggleButton;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.CornerRadii;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class PaneBackgroundTest extends Application {
@Override
public void start(Stage primaryStage) {
BorderPane root = new BorderPane();
VBox vbox = new VBox();
root.setCenter(vbox);
ToggleButton toggle = new ToggleButton("Toggle color");
HBox controls = new HBox(5, toggle);
controls.setAlignment(Pos.CENTER);
root.setBottom(controls);
// vbox.styleProperty().bind(Bindings.when(toggle.selectedProperty())
// .then("-fx-background-color: cornflowerblue;")
// .otherwise("-fx-background-color: white;"));
vbox.backgroundProperty().bind(Bindings.when(toggle.selectedProperty())
.then(new Background(new BackgroundFill(Color.CORNFLOWERBLUE, CornerRadii.EMPTY, Insets.EMPTY)))
.otherwise(new Background(new BackgroundFill(Color.WHITE, CornerRadii.EMPTY, Insets.EMPTY))));
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Run Code Online (Sandbox Code Playgroud)
在你的css文档中尝试这个,
-fx-background-color : #ffaadd;
Run Code Online (Sandbox Code Playgroud)
要么
-fx-base : #ffaadd;
Run Code Online (Sandbox Code Playgroud)
此外,您可以直接使用此代码在对象上设置背景颜色.
yourPane.setBackground(new Background(new BackgroundFill(Color.DARKGREEN, CornerRadii.EMPTY, Insets.EMPTY)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91122 次 |
| 最近记录: |