javafx中的舞台造型
如何将StageStyle.utility和StageStyle.Undecoraded应用于同一阶段 我将其用于内部窗口/弹出窗口 或者如果我必须遵循任何其他解决方案,请执行stuggestjavafx中的舞台造型,java,javafx,popupwindow,scene,stage,Java,Javafx,Popupwindow,Scene,Stage,如何将StageStyle.utility和StageStyle.Undecoraded应用于同一阶段 我将其用于内部窗口/弹出窗口 或者如果我必须遵循任何其他解决方案,请执行stuggest 谢谢你的问题: 应用程序两种样式StageStyle.UTILITY和StageStyle.Undecoraded用于同一阶段 因为 你问我的建议 来解决你的问题 建议: 我建议使用,然后我们将进行一些修改以满足您的需要,我尝试创建此代码示例,用于在父窗口(所有者窗口)内创建弹出窗口: 包javafxpo
谢谢你的问题: 应用程序两种样式
StageStyle.UTILITY
和StageStyle.Undecoraded
用于同一阶段
因为
你问我的建议
来解决你的问题
建议:
我建议使用,然后我们将进行一些修改以满足您的需要,我尝试创建此代码示例,用于在父窗口(所有者窗口)内创建弹出窗口:
包javafxpopup
import insidefx.undecorator.Undecorator;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
/**
*
* @author Menai Ala Eddine
*/
public class Undecorated extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Click");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Stage popStage = new Stage();
popStage.initStyle(StageStyle.TRANSPARENT);
StackPane root = new StackPane();
root.getChildren().add(new Label("I'm popup window"));
applyModification(popStage, root);
popStage.show();
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root,500,500));
primaryStage.setTitle("Hello World!");
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
private void applyModification(Stage primaryStage, StackPane root) {
Undecorator undecorator = new Undecorator(primaryStage, root);
undecorator.getStylesheets().add("/skin/undecorator.css");
Scene scene = new Scene(undecorator, 300, 250);
primaryStage.setScene(scene);
scene.setFill(null);
Node stageMenu = undecorator.lookup("#StageMenu");
stageMenu.setVisible(false);
Node maximize = undecorator.lookup(".decoration-button-maximize");
maximize.setVisible(false);
Node manimize = undecorator.lookup(".decoration-button-minimize");
manimize.setVisible(false);
Node restore = undecorator.lookup(".decoration-button-fullscreen");
restore.setVisible(false);
}
}
导入insidefx.undecorator.undecorator;
导入javafx.application.application;
导入javafx.event.ActionEvent;
导入javafx.event.EventHandler;
导入javafx.scene.Node;
导入javafx.scene.scene;
导入javafx.scene.control.Button;
导入javafx.scene.control.Label;
导入javafx.scene.layout.StackPane;
导入javafx.stage.stage;
导入javafx.stage.StageStyle;
/**
*
*@作者Menai Ala Eddine
*/
公共类未修饰扩展应用程序{
@凌驾
公共无效开始(阶段primaryStage){
按钮btn=新按钮();
btn.setText(“单击”);
btn.setOnAction(新的EventHandler
正如您同时看到的StageStyle.undecoraded
和StageStyle.UTILITY
PS:这是一个建议,您可以找到许多解决方案。没有问题。请添加您的问题。请参阅我想创建一个内部窗口/弹出窗口。如何创建它?该窗口应该没有装饰,也没有标题#FireandFuel没有任何阶段样式。没有标题的(请参阅)。一个未装饰的
阶段无论如何没有标题。@James\u D抱歉它是StageStyle.UTILITY我想你需要根据你的条件隐藏窗口的标题未装饰的
和实用程序
对于同一阶段,你有一个解决方案可以使你的阶段未装饰
并在右上方添加一个按钮。