fxml中的组合框菜单项字体更改

卡尔提克兰姆

我需要更改字体并删除组合框项目的阴影。

我尝试使用下面的代码,但未成功:

.combo-box .popup-menu, .combo-box .menu-item, .combo-box .popup-menu .menu-item-radio
    {
        -fx-shadow-highlight-color: transparent;
         -fx-font-family: "Arial";
         -fx-font-size: 14px;
    }
曼苏尔

对于JavaFX2,您可以创建一个CellFactory进行设置:

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import javafx.util.Callback;

public class Main extends Application {

    @Override
    public void start(Stage stage) throws Exception {
        ComboBox<String> cb = new ComboBox<String>();
        cb.setItems(FXCollections.observableArrayList("Foo","Bar","777","Batman"));
        cb.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
            @Override public ListCell<String> call(ListView<String> p) {
                return new ListCell<String>() {
                    {
                        getStyleClass().add("customcell");
                    }
                    @Override
                    protected void updateItem(String item, boolean empty) {
                        super.updateItem(item, empty);
                        setText(item);
                    }
                };
            }
        });
        cb.getSelectionModel().selectFirst();
        Pane root = new Pane();
        root.getChildren().add(cb);
        Scene scene = new Scene(root);
        scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
        stage.setScene(scene);
        stage.show();
    }
    public static void main(String[] args) {launch(args);}
}

style.css

/* for the main button of the ComboBox  */
.combo-box .cell{
    -fx-text-fill: blue;
    -fx-font: 16px "Arial";
}
.customcell {
    -fx-text-fill: blue;
    -fx-font: 16px "Arial";
    /* No alternate highlighting */
    -fx-background-color: #FFF;
}

对于JavaFX 8示例,请检查此答案该答案是我给一个非常类似的问题,但针对其他版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

fxml中的组合框菜单项字体更改

来自分类Dev

更改菜单项

来自分类Dev

如何更改操作栏的选项菜单项标题的字体?

来自分类Dev

单击时更改活动菜单项字体

来自分类Dev

如何更改 NavigationView 菜单项的字体和大小?

来自分类Dev

更改菜单项颜色

来自分类Dev

动态更改菜单项

来自分类Dev

根据菜单项的数量更改菜单项的宽度

来自分类Dev

选中的菜单项中的黑框复选标记

来自分类Dev

如何使菜单项在弹性框中水平显示

来自分类Dev

选中的菜单项中的黑框复选标记

来自分类Dev

Kendo菜单可以包含组合框作为菜单项吗

来自分类Dev

在C#中更改菜单项附近的箭头颜色

来自分类Dev

在C#中更改菜单项附近的箭头颜色

来自分类Dev

更改HTML结构并在Wordpress中创建菜单项

来自分类Dev

如何更改jQuery中悬停的菜单项的颜色?

来自分类Dev

在Wordpress中更改粘性菜单项的颜色

来自分类Dev

如何在Vue中动态更改菜单项名称

来自分类Dev

带有FXML的JavaFX通过菜单项更改CSS文件运行时

来自分类Dev

在C#中更改下拉菜单项时如何在文本框中插入内容

来自分类Dev

将设计时菜单元素组合到数据绑定菜单项绑定中

来自分类Dev

如何从片段更改菜单项图标?

来自分类Dev

更改导航抽屉菜单项的颜色

来自分类Dev

如何更改菜单项的动作窗口?

来自分类Dev

引用和更改菜单项

来自分类Dev

更改最左侧菜单项的样式

来自分类Dev

服务更改菜单项的图标

来自分类Dev

如何更改菜单项的样式

来自分类Dev

CSS 更改移动菜单项大小