首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文本对象拒绝更改颜色,尽管CSS指示这样做

文本对象拒绝更改颜色,尽管CSS指示这样做
EN

Stack Overflow用户
提问于 2014-01-04 02:21:26
回答 1查看 1.4K关注 0票数 1

事件处理程序之前的代码中的Text对象不会更改颜色,尽管在设置文本之前设置了id。但是,文本将随着文本设置的填充而改变颜色。我很好奇的一点是,在CSS中,颜色不会随着.text{}#Sign-In-Text{}而改变。我只是不恰当地使用CSS吗?

Java代码:

代码语言:javascript
复制
public class CSSTrial1 extends Application {

@Override
public void start(Stage stage) throws Exception {
    stage.setTitle("CSS Trial");
    stage.setResizable(false);
    final GridPane grid = new GridPane();
    ColumnConstraints constraints = new ColumnConstraints();
    grid.getColumnConstraints().add(constraints);
    grid.setAlignment(Pos.CENTER);
    grid.setHgap(10);
    grid.setVgap(10);
    grid.setPadding(new Insets(25));
    grid.add(new Label("Character Name:"), 0, 0);
    final TextField nameField = new TextField("");
    nameField.setPromptText("Randel James");
    grid.add(nameField, 1, 0);
    grid.add(new Label("Weapon:"), 0, 1);
    final ComboBox<String> weapons = new ComboBox<>();
    weapons.getItems().addAll("Katsuragi x2", "Assault Rifle",
            "Pistol", "RPG-7", "Barret 50. Cal");
    grid.add(weapons, 1, 1);
    HBox box = new HBox(10);
    box.setAlignment(Pos.BOTTOM_RIGHT);
    Button submit = new Button("Submit Character");
    final Text text = new Text();
    text.setId("Sign-In-Text");
    submit.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent t) {
            text.setText("Signed In As: " + nameField.getText()
                    + ", Weapon: " + weapons.getValue());
            //text.setWrappingWidth(100);
        }
    });
    //text.setFill(Color.ROYALBLUE);
    grid.add(text, 0, 6);
    box.getChildren().add(submit);
    grid.add(box, 1, 3);
    Scene scene = new Scene(grid, 300, 275);
    scene.getStylesheets().add(CSSTrial1.class.getResource("CSSTrial1Style.css")
            .toExternalForm());
    stage.setScene(scene);
    stage.show();
}

}

CSS:

代码语言:javascript
复制
.root{
-fx-background-color: #710ad1;
}
.label{
-fx-text-fill:#11d30b;
-fx-font: bold 13pt fantasy;
}
.text{
-fx-text-fill:#11d30b;
-fx-font: bold 13pt fantasy;
}
#custom-text{
-fx-font: 16px "Serif";
-fx-padding: 10;
-fx-background-color: #CCFF99;
}
#Sign-In-Text{
-fx-text-fill:#11d30b;
-fx-font: bold 10pt fantasy;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-04 02:55:08

尝试:

代码语言:javascript
复制
-fx-fill: #11d30b; 

而不是:

代码语言:javascript
复制
-fx-fill-text: #11d30b;

文档中的示例:http://docs.oracle.com/javafx/2/text/jfxpub-text.htm#CHDDAEBG

还可以在这里查看一个类似的问题:JavaFX TableView: Cannot Override '-fx-text-fill'!

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20916065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档