4
我一直在尝试从JavaFX8 SwingNode使用此代码。问题是当窗口出现时,我无法点击按钮,直到我调整了窗口大小。移动它不起作用。我需要最大化它,或者用鼠标调整它的大小以使按钮响应。javafx SwingNode不能工作,直到窗口调整大小
我意识到这可能是因为javafx8仍处于测试阶段的错误,但如果那不是的情况下是有什么我需要做的,做了与第一次调整窗口这项工作?
public class SwingNodeTest extends Application {
private SwingNode swingNode;
@Override
public void start(Stage stage) {
swingNode = new SwingNode();
createAndSetSwingContent();
StackPane pane = new StackPane();
pane.getChildren().add(swingNode);
stage.setScene(new Scene(pane, 100, 50));
stage.show();
}
private void createAndSetSwingContent() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
swingNode.setContent(new JButton("Click me!"));
}
});
}
public static void main(String[] args) {
Application.launch(args);
}
}
此代码工作正常关于Java 8构建101(可以点击立即的JButton首先所示的窗口中)与2012的Macbook Air在OS X 10.8.4上运行。 – jewelsea
我在使用Java 8构建129同样的问题然而,内部的invokeLater我的代码比按钮更复杂,仍然是调整我的窗口后,不能正常工作。 (另外,在另一个问题中,我被告知应该使用Platform.runLater而不是SwingUtilities.invokeLater ...后者不能用于JavaFX)(我正在使用JavaFX/Java 8) – adeena