FlowPane中的子项坐标(JavaFX)

时间:2014-07-21 16:30:03

标签: java javafx fxml

我试图编写一个在FlowPane中显示五个矩形的GUI,以便用户可以点击它们来选择一个字符。

我使用以下方法测试用户是否在矩形内部单击:

@FXML
private Rectangle characterA, characterB, characterC, characterD, character E;

private List<Rectangle> rects;

@FXML
private void initialize() {
    rects = Arrays.asList(characterA, characterB, characterC, characterD, character E);
}

@FXML
private void onMousePressed(MouseEvent e) {
    Rectangle rect;
    for (int i = 0; i < rects.size(); i++) {
        rect = rects.get(i);
        if (rect.contains(e.getSceneX(), e.getSceneY())) {
            System.out.println("Clicked in rect " + i);
        }
    }
}

我的问题是:虽然在屏幕上,矩形是彼此并排放置的,但它们的坐标显然都是一样的。单击第一个矩形会产生五个副本&#34;在rect x&#34;中单击,而在其他位置单击则不会输出任何输出。

如何正确确定用户点击的矩形?

0 个答案:

没有答案