gpt4 book ai didi

java - 如何在 javafx 的透明阶段创建非透明对象?

转载 作者:行者123 更新时间:2023-11-28 15:19:24 25 4
gpt4 key购买 nike

我在这里尝试的是在透明舞台内的 StackPane 中创建一个不透明按钮,但是使舞台透明将使所有内容透明。

import javafx.application.Application; 
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.*;

public class HelloWorld extends Application {

@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});

StackPane root = new StackPane();
root.getChildren().add(btn);

Scene scene = new Scene(root, 300, 250);

primaryStage.setTitle("Hello World!");
primaryStage.initStyle(StageStyle.TRANSPARENT);
primaryStage.setOpacity(0.4);
primaryStage.setScene(scene);
primaryStage.show();
scene.getStylesheets().add("sample.css");
}

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

sample.css 文件包含

.button {
-fx-background-color: rgba(255,0,0,1);
}

最佳答案

这样做

btn.setStyle("-fx-background-color: any-non-transparent-color-you-wish;");

这将改变按钮的背景使其不透明

关于java - 如何在 javafx 的透明阶段创建非透明对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37639590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com