【问题标题】:Add icon to menuItem in JavaFx by CSS通过 CSS 将图标添加到 JavaFx 中的 menuItem
【发布时间】:2019-11-25 02:16:50
【问题描述】:

我使用这个 CSS 将图标添加到 JavaFX 应用程序的 menuItem:

    #mniOpen > .label{
    -fx-graphic:url(media/open.png);
}

它可以工作,但有一个问题:我的 menuItem 有一个快捷键(Ctrl+O),所以在这个项目中有两个标签。结果,此 menuItem 的图标重复了两次:

怎样才能去掉第二个图标(对于Ctrl+O)?

【问题讨论】:

    标签: javafx


    【解决方案1】:

    使用css

    #mniOpen > .label{
        -fx-graphic: url("media/open.png");
    }
    #mniOpen .accelerator-text{
        -fx-graphic: none;
    }
    

    不使用css

      Image openIcon = new Image(getClass().getResourceAsStream("media/open.png"));
      ImageView openView = new ImageView(openIcon);
      openView.setFitWidth(15);
      openView.setFitHeight(15);
      MenuItem newMenuItem = new MenuItem("Open");
      newMenuItem.setGraphic(openView);
      newMenuItem.setAccelerator(new KeyCodeCombination(KeyCode.O, KeyCombination.CONTROL_DOWN));
    

    【讨论】:

    • 谢谢!但我想将代码 java、设计(fxgraph、fxml)、样式 css 分开。我不想使用 java 代码中的所有内容。
    • 你对这个答案很满意,不要假装接受它。
    猜你喜欢
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    相关资源
    最近更新 更多