标签: stage

如何在JavaFX中检测完成的大小调整操作?

我有一个舞台,一个场景和一个WebView节点.当我将窗口扩展到更大的尺寸时 - 由于WebView,事情变得非常缓慢.我想要做的只是在窗口大小调整完成后填充WebView 的新空间(这是我在可调整大小的控件/窗口边缘释放鼠标左键).现在我可以设置最大值.此节点的大小默认为 - 这将阻止它扩展.但是如何在窗口中检测完成的大小调整操作的实际事件?用结合,我可以确认的是,调整大小发生-但它的瞬时(用于W&d变化特性立即W/O释放LMB),而我只需要在一个动作LMB已被释放.建议?


我试着用addEventFilter舞台Event.ANY,只是为了看看这个事件类型是可识别的-遗憾的是有没有用.

我也偶然发现了这个未经回答的帖子.

java resize stage scene javafx-2

7
推荐指数
1
解决办法
6752
查看次数

如何在 scrollPane 顶部对齐表格?

我正在 libgdx 游戏中制作成就屏幕。我想将 scrollPane 中的表格与顶部对齐,现在它垂直和水平居中,我不知道为什么。.top()当我尝试创建新行时使用方法不起作用。

stage      = new Stage();
    Gdx.input.setInputProcessor(stage);
    outerTable = new Table();
    innerTable = new Table();



    innerTable.setFillParent(true);



    for(int i=0;i<score_bound; i++){

        if(i<score_state){
         innerTable.row().width(achie_width).height(achie_height).top();

         innerTable.add(new Image(ltm.assets.score_textures[i]));
        }else{

            innerTable.row().width(achie_width).height(achie_height).top();

             innerTable.stack(new Image(ltm.assets.score_textures[i]),new Image(ltm.assets.kurtyna));

        }

    }

    for(int i=0;i<letin_bound; i++){

        if(i<letin_state){
             innerTable.row().width(achie_width).height(achie_height).top();

             innerTable.add(new Image(ltm.assets.letin_textures[i]));
            }else{

                innerTable.row().width(achie_width).height(achie_height).top();

                 innerTable.stack(new Image(ltm.assets.letin_textures[i]),new Image(ltm.assets.kurtyna));

            }

    }

    scrollPane = new ScrollPane(innerTable); 


    outerTable.setPosition(0, 0);
    outerTable.setSize(Gdx.graphics.getWidth(),Gdx.graphics.getHeight());



    outerTable.debug();

    outerTable.add(scrollPane).fill().expand();


    stage.addActor(outerTable);
Run Code Online (Sandbox Code Playgroud)

stage libgdx

7
推荐指数
1
解决办法
878
查看次数

在 API Gateway 的 lambda 集成中使用 stageVariables 会引发验证错误

我的 API 网关有两个阶段(开发和生产)。我希望每个分别指向 dev 和 prod lambda 别名。我尝试在 lambda 集成中使用 stageVariables,但这会引发验证错误,并且 API Gateway 无权调用 lambda。我也无法从 lambda 仪表板更改权限策略以包含 stageVariables。

首先,我向每个阶段添加了一个阶段变量 (LAMBDA_ALIAS),并具有适当的值。我尝试附加:${stageVariables.LAMBDA_ALIAS}到 lambda ARN。当我保存此内容时,更改仍然存在,但仪表板顶部出现验证错误:

1 validation error detected: Value 'arn:aws:lambda:us-east-2:xxx:function:auth:${stageVariables.LAMBDA_ALIAS}' at 'functionName' failed to satisfy constraint: Member must satisfy regular expression pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
Run Code Online (Sandbox Code Playgroud)

此外,我在点击 API 路由后注意到 CloudWatch 日志中出现集成错误:“在集成或 API 网关上配置的 IAM 角色没有调用集成的权限。请检查权限并重试。”

我已按照本指南创建了与完整调用 ARN 的新集成,但这也不起作用(它解析为 lambda ARN)。最后,我尝试通过 cli ( aws lambda add-permissions) 发出 JSON 语句,但返回了与上面所示相同的正则表达式错误。

这是我使用的 JSON 语句:

{
  "StatementId": "xxx",
  "Action": "lambda:InvokeFunction",
  "FunctionName": "arn:aws:lambda:us-east-2:xxx:function:auth:${stageVariables.LAMBDA_ALIAS}",
  "Principal": "apigateway.amazonaws.com", …
Run Code Online (Sandbox Code Playgroud)

api lambda gateway stage amazon-web-services

7
推荐指数
1
解决办法
693
查看次数

如何从JavaFX中的UI控件中检索舞台

问题很简单,但我没有找到任何与此有关的例子.我想在JavaFX中获取包含UI控件的Stage.有没有办法做到这一点?

controls stage javafx-2

6
推荐指数
1
解决办法
1209
查看次数

在JavaFX中使用1个阶段和多个场景登录应用程序

我正在做一个时间表项目.我已经成功地为所有内容创建了一个登录系统和菜单,但是当我按下我已经完成的按钮时,它将打开一个新窗口(带有舞台,场景).我读过这不是最好的方法.最好的方法是只有1个主要阶段,而那个是我启动应用程序时的登录.

但我已经找到了有关一个阶段的多个场景的信息,但我还没有找到任何好的解决方案.真的很感激一些帮助;)希望你明白我想要实现的目标.值得一提的是,i =我正在处理Scenebuilder和fxml文件,所以我想要的主要是将新的.fxml场景加载到主舞台上.

所以我查看了另一个线程并尝试执行一个处理所有场景更改的VistaFramework.但我完全不了解它,我无法让它发挥作用.

package application;

import javafx.fxml.FXMLLoader;

import java.io.IOException;

import controllers.MainController;

/**
 * Utility class for controlling navigation between vistas.
 *
 * All methods on the navigator are static to facilitate
 * simple access from anywhere in the application.
 */
public class VistaNavigator {

    /**
     * Convenience constants for fxml layouts managed by the navigator.
     */
    public static final String MAIN    = "LoginGUI.fxml";
    public static final String NEW_USER = "NewUserGUI.fxml";
    public static final String STARTMENU = "StartMenuGUI.fxml";

    /** The …
Run Code Online (Sandbox Code Playgroud)

java javafx stage fxml scenebuilder

6
推荐指数
1
解决办法
3万
查看次数

JavaFX 8:Stage insets(窗口装饰厚度)?

如何确定JavaFX中的阶段/窗口插入?在Swing中,我可以简单地写:

JFrame frame = new JFrame();
Insets insets = frame.getInsets();
Run Code Online (Sandbox Code Playgroud)

在JavaFX中获得边框大小和窗口标题栏的等价物是什么?

java border stage window-decoration javafx-8

6
推荐指数
1
解决办法
2965
查看次数

如何检查舞台管理器是否已启用?

在 macOS 13 文图拉中

如何检查我的代码中是否启用了 Stage Manager?我想用代码打开或关闭舞台管理器。

macos stage macos-ventura

6
推荐指数
0
解决办法
352
查看次数

AIR - 将NativeWindow的大小设置为包括系统镶边

你如何找出系统chrome的大小,以便我可以指定窗口大小来达到我想要的舞台大小?

如果我的主窗口设置为800 x 600(阶段),并且我创建了如下的第二个窗口,它将更小.

public function Main():void 
{
    var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
    windowOptions.systemChrome = NativeWindowSystemChrome.STANDARD;
    windowOptions.type = NativeWindowType.NORMAL;
    var newWindow:NativeWindow = new NativeWindow( windowOptions );
    newWindow.width = 800;
    newWindow.height = 600;
    newWindow.stage.scaleMode = StageScaleMode.NO_SCALE;
    newWindow.stage.align = StageAlign.TOP_LEFT;
    newWindow.activate();

}
Run Code Online (Sandbox Code Playgroud)

我假设你增加两者newWindow.width = 800;newWindow.height = 600;考虑到铬,但你如何找到这个值?

air stage actionscript-3 nativewindow

5
推荐指数
1
解决办法
3684
查看次数

使矩形透明

我需要使绘制的矩形鼠标透明,以便看到桌面。以下代码绘制了我的矩形。我应该添加什么来获得它?感谢帮助

public void start(Stage primaryStage) {
    Group group = new Group();

    Rectangle rect = new Rectangle(20,20,200,200);

    rect.setArcHeight(15);
    rect.setArcWidth(15);

    rect.setStroke(Color.BLACK);
    group.getChildren().add(rect);

    Scene scene = new Scene(group, 300, 200);
    primaryStage.setScene(scene);
    primaryStage.show();
}
Run Code Online (Sandbox Code Playgroud)

java stage scene javafx-8

5
推荐指数
2
解决办法
1万
查看次数

JavaFX:如何管理阶段的z-index

有什么方法可以管理多个阶段的z索引顺序(彼此独立)。例如,存在三个阶段A,B和C。StageA应该始终保持落后。StageB应该在中间,而StageC应该总是在最上面。请特别注意,这三个阶段彼此之间没有关系(例如所有者)

以下是我所期望的快速演示。我需要访问任何阶段(用于拖动或修改),但需要保持z顺序。任何想法或帮助都将受到高度赞赏。

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

import java.util.HashMap;
import java.util.Map;

public class StagesZOrdering_Demo extends Application {
    private Map<String, Stage> stages = new HashMap<>();

    @Override
    public void start(Stage stage) throws Exception {
        Button button1 = new Button("Back");
        button1.setOnAction(e -> openStage("Back"));

        Button button2 = new Button("Middle");
        button2.setOnAction(e -> openStage("Middle"));

        Button button3 = new Button("Front");
        button3.setOnAction(e -> openStage("Front"));

        VBox root = new VBox(button1, button2, button3);
        root.setAlignment(Pos.CENTER);
        root.setSpacing(10);
        Scene sc = new …
Run Code Online (Sandbox Code Playgroud)

javafx stage

5
推荐指数
1
解决办法
69
查看次数