当前位置: 首页 > 知识库问答 >
问题:

Stackpane-鼠标单击以供其两个孩子收听

哈宪
2023-03-14

出身背景

我正试图建立一个图像库的基础上描述这里。

我有一个StackPane,以ScrollPaneAnchorPane作为其子级,以相同的顺序添加。

ScrollPane包含ImageView中包含的图像列表,而Anchorpane有两个按钮,固定在左右角,用于滚动图像!

问题

滚动工作正常,因为按钮放在AnchorPane上,AnchorPane是StackPane上的顶级子级。

我想实现双击imageView以全屏方式打开它。由于imageView是ScrollPane的子级,因此它无法侦听鼠标事件。

有没有办法让ImageView听MouseeEvent?

共有1个答案

子车雅珺
2023-03-14

尝试使用AnchorPane作为此结构的根,而不是将AnchorPaneScrollPane放置在StackPane中。首先使用适当的锚将ScrollPane添加到它,然后添加按钮。这样,按钮仍然在顶部,但是滚动窗格内容上的鼠标事件不会受到任何干扰。

ScrollPane scrollPane = new ScrollPane();
scrollPane.setContent(...);


// scrollPane fills entire anchor pane:

AnchorPane.setLeftAnchor(scrollPane, 0.0);
AnchorPane.setRightAnchor(scrollPane, 0.0);
AnchorPane.setTopAnchor(scrollPane, 0.0);
AnchorPane.setBottomAnchor(scrollPane, 0.0);

Button button1 = new Button(...);
Button button2 = new Button(...);

// button1 in top left:
AnchorPane.setTopAnchor(button1, 0.0);
AnchorPane.setLeftAnchor(button1, 0.0);

// button2 in top right:
AnchorPane.setTopAnchor(button2, 0.0);
AnchorPane.setRightAnchor(button2, 0.0);

AnchorPane anchorPane = new AnchorPane();
anchorPane.getChildren().addAll(scrollPane, button1, button2);
 类似资料:
  • 我有一个带有复杂场景的javafx8应用程序。它由一个拆分窗格组成,在顶部部分,我有一个具有多个级别(子级)的堆栈窗格。最后面的是一个背景,在调整大小时只需要重新绘制,另一个是网格线,lat/long。另一个用于绘图,最后一个用于滑动复合控件。当复合材料(按钮、标签、组合框和文本字段,在stackframe的最后一个子项中,它正确地截取并处理鼠标和键盘事件。但是,当它位于顶部时,没有任何事件传播到

  • 问题内容: 我有一张卡,它由页眉,正文和页脚组成,可以由更多节点组成,例如标签,文本字段等。 当 卡内 发生单击时,无论何时是卡本身还是它的子代之一,我都需要捕捉事件。现在,如果我单击文本字段,则不会触发事件。 因此,就像上面的示例一样,如果我单击文本字段键入内容,则不会打印。 问题答案: 你可以用 这里描述了JavaFX中事件处理的完整机制。简而言之,事件具有 target ,在这种情况下, t

  • 我有一张卡片,它由页眉、正文和页脚组成,可以由更多节点组成,如标签、文本字段等。 我需要抓住鼠标点击事件的任何时间,当点击发生在卡内,无论它是卡本身还是其子卡之一。现在,如果我单击文本字段,事件不会被触发。 就像上面的例子一样,如果我单击文本字段来键入某些内容,未打印。

  • 您好,当鼠标单击stackpane(父)时,我试图取消选择listview项。我尝试了这段代码,但当用户单击按钮(Stackpane的子项)时,事件仍然被触发: 如何仅触发stackpane鼠标事件单击?

  • 问题内容: 我试图检测何时在NSTableView中发生鼠标单击,以及何时 发生,以确定所单击的单元格的行和列。 到目前为止,我尝试使用NSTableViewSelectionDidChangeNotification,但是存在 两个问题: 它仅在选择更改时触发,而我希望每次单击鼠标,即使它在当前选择的行上也是如此。 调用我的委托时,NSTableView的clickedRow和clickedCo

  • 问题内容: 我试图检测何时在NSTableView中发生鼠标单击,以及何时发生,以确定所单击的单元格的行和列。 到目前为止,我尝试使用NSTableViewSelectionDidChangeNotification,但是存在两个问题: 它仅在选择更改时触发,而我希望每次单击鼠标,即使它在当前选择的行上也是如此。 调用我的委托时,NSTableView的clickedRow和clickedColu