【发布时间】:2021-11-16 15:55:39
【问题描述】:
在 OpenJFX 11.0.2 和 12.0.1 SDK(Windows 10、x64)中重现,在 JavaFX 8 中不可重现
右键单击表格列,然后尝试调整列的大小。在您再次手动单击列之前,不会显示调整大小的光标并且无法调整列的大小。
任何解决方法的想法?我需要为 TableColumns 使用contextMenu,因此无法使用使标题忽略鼠标右键单击的潜在解决方法。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.stage.Stage;
public class Foo extends Application {
@Override
public void start(Stage stage) throws Exception {
TableView<Object> testView = new TableView<>();
testView.getColumns().addAll(new TableColumn<Object, Object>("C1"), new TableColumn<Object, Object>("C2"), new TableColumn<Object, Object>("C3"));
stage.setScene(new Scene(testView));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
【问题讨论】:
-
我无法在 Ubuntu 18.04 上使用 JavaFX 11.0.2 重现此问题
-
我很惊讶程序在 Java 12 中运行,因为 JavaFX 不再是 Java SE 的一部分。 javafx.application.Application 的子类不能再是 Java 主类,因为 JavaFX 所需的本机库在 JVM 启动主类时不可用。
-
@VGR 只要 JavaFX 模块在模块路径上,这就是不对的——至少,我从来没有遇到过问题(即使省略了
main(String[])方法)。 -
我可以在 Windows 10 上使用 JavaFX 12.0.1 重现该问题。
-
@Slaw 你是对的。我应该澄清一下,我的陈述仅在使用类路径而不是模块路径时才成立。
标签: java javafx tableview openjfx