簡體   English   中英

菜單打開時菜單按鈕樣式 JavaFX

[英]Menu button style while menu open JavaFX

我想知道在當前打開此菜單按鈕的菜單時是否可以為菜單按鈕設置某種樣式(例如背景顏色為黑色)。 也就是說,如果菜單沒有打開,那么它不應該有黑色背景顏色。 我可以在 CSS 文件中執行此操作,還是有可能?

我知道菜單按鈕有一個showing菜單是否打開的方法,但我不知道要應用它,以便在菜單打開時按鈕顏色會發生變化。

這是菜單按鈕: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/MenuButton.ZFC35FDC70D5FC69D269883A822AC7

我使用的是 JavaFX,而對於造型,我使用的是 CSS。

文檔表明MenuButton有一個showing偽類,在顯示上下文菜單時設置,所以你可以這樣做

.menu-button:showing {
  -fx-base: black ;
}

這是一個快速測試工具:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.MenuButton;
import javafx.scene.control.MenuItem;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class App extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        MenuButton button = new MenuButton("Test");
        button.getItems().addAll(
                new MenuItem("Item 1"),
                new MenuItem("Item 2")
        );
        BorderPane root = new BorderPane();
        root.setTop(button);
        Scene scene = new Scene(root, 200, 200);
        scene.getStylesheets().add(getClass().getResource("/style.css").toExternalForm());
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

我從中得到以下信息:

在此處輸入圖像描述

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM