我用JavaFX做了一个应用程序。
我希望在我的顶部的ChoiceBox中有一个MenuBar来选择语言。当选择语言控件时,我希望禁用蓝色环境。我该怎么做?

发布于 2016-08-07 22:33:29
将包含Id的Menu的ChoiceBox设置为transparent,并使用以下CSS:
#transparent:hover,
#transparent:focused,
#transparent:showing {
-fx-background: transparent;
}不幸的是,我还没有弄清楚如何将transparent作为一个类来实现。
示例
输出:

代码:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class Foo extends Application {
@Override
public void start(Stage stage) throws Exception {
Menu fileMenu = new Menu("File");
ChoiceBox<String> languageBox = new ChoiceBox<String>();
languageBox.getItems().addAll("English", "Deutsch");
Menu languageMenu = new Menu();
languageMenu.setId("transparent");
languageMenu.setGraphic(languageBox);
MenuBar menuBar = new MenuBar();
menuBar.getMenus().addAll(fileMenu, languageMenu);
BorderPane root = new BorderPane();
root.setTop(menuBar);
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
stage.setScene(scene);
stage.setTitle("MCVE");
stage.setWidth(640);
stage.setHeight(480);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}https://stackoverflow.com/questions/38817465
复制相似问题