【问题标题】:JAVAFX Mouse Click on certain ValueJAVAFX 鼠标点击某个值
【发布时间】:2015-07-29 12:07:34
【问题描述】:

当 JavaFX 表格单元格中的字符串值为“Chrome”并且该单元格被右键单击时,希望打开一个新场景。当我单击应用程序列中的任何单元格时,它不会输出第二个按钮。

                        @Override
                        public void handle(MouseEvent event) {
                            MouseButton button = event.getButton();
                            if (button == MouseButton.PRIMARY) {
                                System.out.println("primany buton");
                            } else if (button == MouseButton.SECONDARY && applicationname_column.getCellValueFactory().toString().contentEquals("Chrome"))
                            {
                                System.out.println("second button");
                                Parent Chromepage = null;
                                try {
                                    Chromepage = FXMLLoader.load(getClass().getResource("Chrome_logs.fxml"));
                                } catch (IOException e) {
                                    e.printStackTrace();
                                }

                                Stage stage = new Stage();
                                Scene scene = new Scene(Chromepage);
                                stage.setScene(scene);
                                URL url = this.getClass().getResource("DarkTheme.css");
                                if (url == null) {
                                    System.out.println("Resource not found. Aborting.");
                                    System.exit(-1);
                                }
                                String css = url.toExternalForm();
                                scene.getStylesheets().add(css);
                                stage.setTitle("Chrome Logs");
                                stage.show();
                            } else if (button == MouseButton.MIDDLE) {
                                System.out.println("middle button");
                            }
                        }
                    });
                    return cell;
                }
                }

【问题讨论】:

  • 尝试使用... else if (button == MouseButton.SECONDARY && "Chrome".equals(cell.getItem()))
  • 成功了!非常感谢!

标签: java string javafx mouseevent


【解决方案1】:

您可以检索单元格正在呈现的项目,并检查其值。也一样

...
else if (button == MouseButton.SECONDARY && "Chrome".equals(cell.getItem()))
{
    ...
}
...

【讨论】:

    猜你喜欢
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    相关资源
    最近更新 更多