我用登录名和密码启动了主窗口(classmain
)和模式窗口(classLogin
)。而主舞台=
root.setEffect(new GaussianBlur());
如果用户有效,则关闭模式窗口。如何重置主阶段的效果
root.setEffect(new GaussianBlur());?
谢谢主要类别:
公共类主应用程序扩展{
Login loginWindow = new Login();
public static Stage windowMain;
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("/views/main.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add(this.getClass().getResource("/style/main.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
windowMain = primaryStage;
root.setEffect(new GaussianBlur());
loginWindow.display();
}
public static void main(String[] args) {
launch(args);
}
}
登录类:
公共类登录{
public void display() throws IOException {
Stage window = new Stage();
window.initModality(Modality.APPLICATION_MODAL);
window.initStyle(StageStyle.UNDECORATED);
auth.setTranslateY(40);
auth.setTranslateX(100);
auth.getStyleClass().add("auth");
TextField username = new TextField();
username.setTranslateY(70);
username.setTranslateX(75);
PasswordField password = new PasswordField();
password.setTranslateY(100);
password.setTranslateX(75);
Button loginBtn = new Button();
loginBtn.getStyleClass().add("loginBtn");
loginBtn.setStyle("-fx-cursor: hand");
loginBtn.setTranslateX(115);
loginBtn.setTranslateY(155);
loginBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
if (username.getText().equals("admin") && password.getText().equals("admin")) {
window.close();
} else {
System.out.println("Error");
}
}
});
Pane layout = new Pane();
layout.getChildren().addAll(username, password, loginBtn);
Scene scene = new Scene(layout);
layout.getStylesheets().add(this.getClass().getResource("/style/login.css").toExternalForm());
username.setFocusTraversable(false);
password.setFocusTraversable(false);
window.setScene(scene);
window.setAlwaysOnTop(true);
window.showAndWait();
}
}
effect
的默认值为空,因此
root.setEffect(null);
应该管用。由于您在登录窗口中使用了show And等待()
,所以您只需要
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("/views/main.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add(this.getClass().getResource("/style/main.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
windowMain = primaryStage;
root.setEffect(new GaussianBlur());
loginWindow.display();
root.setEffect(null);
}
问题内容: 我正在尝试使用JavaFX中的WebView入门,但是当尝试打开WebView时,我收到以下所示的错误,我该如何解决此问题? 问题答案: 尝试运行WebView时遇到任何错误时,请确保您的VM选项包含模块javafx.web。 虚拟机选项: 在IntelliJ中,您可以通过转到IDE右上方的“编辑配置”按钮来访问VM选项。
如何在JavaFX中为< code>TextField设置占位符?我怎样才能不使用JavaScript来做这件事呢?
我寻找了关于这个问题的解决方案&在Silverlight和JavaScript上找到了一些解决方案,但在JavaFX上没有找到。 关于这个问题: 我正在用JavaFX设计一个GUI,其中添加了两个按钮:ADD和REMOVE 我已经使用CSS为ADD按钮设置了样式,但它已经失去了悬停&onclick效果。为了更好地理解这个问题,我附上了几张图片 如果您查看此处的照片,您将看到当单击REMOVE按钮时
我有2个控制器为2个fxml文件。在一个控制器中,我有一个函数,它打开一个文件选择器,并给出一个我称之为Model的类的路径。然后在另一个控制器上有一个函数在单击Draw按钮并运行程序后获取该路径。我有另一个按钮来重置程序。它将结果设置为null,但当打开另一个文件运行时,程序崩溃,因为路径为null。如何重置程序并使其使用从打开文件选择器中选择的新路径?
问题内容: 我正在尝试使用以下代码设置按钮文本: 这是我的FXML: 但这行不通,我不明白为什么,还有其他人知道如何使用JavaFX设置按钮文本吗?>。>; 我觉得JavaFX不像Swing那样简单…但是无论如何,有人知道我在做什么错吗?另外,有没有人知道有什么资源可以学习FXML?我喜欢FXML而不是用Java进行编码,但是似乎没有太多的东西,我是否是世界上唯一喜欢FXML而不是JavaFX G
我有一个外部显示器与我的mac连接,我想制作一个JavaFX应用程序,它在我的主显示器和外部显示器上都是全屏的。 我试过下面的代码,但它总是一次只给我一个全屏。 当第一个setFullScreen(true)被调用时,第一个阶段在我的主监视器中出现全屏。 当调用第二个setFullScreen(true)时,第一级失去其全屏,而第二级在外部监视器中出现全屏。 如何在两个监视器中同时将两个阶段设置为