Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用透明PNG文件时,请注意javaFX中的GUI工作(单击或拖动到照片)_Javafx - Fatal编程技术网

使用透明PNG文件时,请注意javaFX中的GUI工作(单击或拖动到照片)

使用透明PNG文件时,请注意javaFX中的GUI工作(单击或拖动到照片),javafx,Javafx,(英语表达对我来说很难。如果有人对奇怪的表达有意见,请纠正我的文字。) 要小心,若你们想在拖动或点击动作时使用PNG文件 有时透明PNG会干扰拖动和单击操作。 因此,如果您想在拖动或单击操作时使用PNG,请使用不透明PNG 上周,我尝试在tilepane上创建一个可拖动的imageview。 看起来像是拼图。 我应用了单击和拖动操作。 然后它有时起作用,有时不起作用。 我想知道为什么会这样。 所以我试了一遍又一遍的测试。 最后,我找到了线索。 一个透明PNG包含不透明部分和透明部分。 因此,当单

(英语表达对我来说很难。如果有人对奇怪的表达有意见,请纠正我的文字。)

要小心,若你们想在拖动或点击动作时使用PNG文件

有时透明PNG会干扰拖动和单击操作。 因此,如果您想在拖动或单击操作时使用PNG,请使用不透明PNG

上周,我尝试在tilepane上创建一个可拖动的imageview。 看起来像是拼图。 我应用了单击和拖动操作。 然后它有时起作用,有时不起作用。 我想知道为什么会这样。 所以我试了一遍又一遍的测试。 最后,我找到了线索。 一个透明PNG包含不透明部分和透明部分。
因此,当单击“不透明零件”时,任务有效,而当单击“透明零件”时,任务无效。让我们看看我答案下面的细节。

两个结果都不同。一个东西指向imageview,另一个东西指向hbox(imageview的父对象)

1.单击PNG的不透明部分时

@FXML
private void tile1MouseClicked(MouseEvent event) {
   System.out.println("result : " + event.getTarget()); 
}
@FXML
private void tile1MouseClicked(MouseEvent event) {
   System.out.println("result : " + event.getTarget()); 
}
结果:ImageView@7afa16c0

2.单击PNG的透明部分时

@FXML
private void tile1MouseClicked(MouseEvent event) {
   System.out.println("result : " + event.getTarget()); 
}
@FXML
private void tile1MouseClicked(MouseEvent event) {
   System.out.println("result : " + event.getTarget()); 
}
结果:HBox@3f30efe6

String[] imageName = {"slide1.png", "slide2.png", "slide3.png", "slide4.png", 
                        "slide5.png", "slide6.png", "slide7.png", "slide8.png"};
    Image img = null;
    for (int i = 0; i < imageName.length; i++) {
        try {
            img = new Image(getClass().getResourceAsStream(imageName[i]));   
        } catch (Exception e) {
            System.out.println("exception : " + e);
        }
        ImageView imageview = new ImageView(img);
        imageview.setFitWidth(20);
        imageview.setFitHeight(20);

        HBox hbox = new HBox();
        hbox.getChildren().add(imageview);
        tile1.getChildren().add(hbox);
}
String[]imageName={“slide1.png”、“slide2.png”、“slide3.png”、“slide4.png”,
“slide5.png”、“slide6.png”、“slide7.png”、“slide8.png”};
图像img=null;
对于(int i=0;i