2013-07-19 29 views
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);   
    } 
} 
+0

此代码工作正常关于Java 8构建101(可以点击立即的JButton首先所示的窗口中)与2012的Macbook Air在OS X 10.8.4上运行。 – jewelsea

+0

我在使用Java 8构建129同样的问题然而,内部的invokeLater我的代码比按钮更复杂,仍然是调整我的窗口后,不能正常工作。 (另外,在另一个问题中,我被告知应该使用Platform.runLater而不是SwingUtilities.invokeLater ...后者不能用于JavaFX)(我正在使用JavaFX/Java 8) – adeena

回答

1

您的代码很简单,所以它很可能是测试版中的一个错误。