将第二个项目添加到我的堆栈窗格时,第一个项目将丢失其Event/MouseOn.为什么?我该怎么办?JavaFX的

CRE*_*REW 5 java layout javafx pane javafx-2

我有一个堆叠的窗格.当我向堆栈窗格添加第二个项目时,两个都显示,但我不能再点击我的第一个项目了.它变得"无法点击".

我在.setonmouse中定义的内容不起作用.它适用于我的第二个项目.如果我切换它们在堆栈窗格中的顺序,则另一个可以工作,但不能同时工作.

有没有解决这个问题?这是我的程序的样子:

我希望我的'网格'始终居中.左侧有一些按钮位于列的中间,稍后会有右侧的按钮,并且网格顶部会有按钮/文本,稍后会在边距中显示按钮/文本.

我希望一切都可以点击.

http://img688.imageshack.us/img688/6025/examplerg.png

Ser*_*nev 4

StackPane按 Z 顺序排列项目:后者高于前者。因此,您的第二个项目获得了所有鼠标点击,而第一个项目(被第二个项目覆盖)则没有获得任何内容。

对于您所描述的布局,您可以使用 BorderPane:

public void start(Stage stage) throws Exception {
    BorderPane root = new BorderPane();
    root.setCenter(new Rectangle(100,100, Color.RED));
    root.setLeft(new Rectangle(10,10, Color.BLUE));
    root.setRight(new Rectangle(10,10, Color.CYAN));

    stage.setScene(new Scene(root,300,300));

    stage.show();
}
Run Code Online (Sandbox Code Playgroud)