나는 다음과 같은 코드가 있습니다JavaFX : JComponent 매개 변수가있는 SwingNode의 setContent 메소드가 JPanel을 허용하지 않는 이유는 무엇입니까?
private void launchSingleRecordWindow() {
SwingNode swingNode = new SwingNode();
MainStageController.setContent(new AnchorPane(swingNode));
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JPanel webcamPanel = new WebcamPanel(selectedWebcam);
swingNode.setContent(webcamPanel);
}
});
}
을하지만 놀랍게도 문자열 swingNode.setContent(webcamPanel);
이 올바르지 않습니다.
하게 IntelliJ IDEA는 말한다 :
java: incompatible types: javax.swing.JPanel cannot be converted to javax.swing.JComponent
.
나는 별도의 클래스를 만들려고했지만, 그것은 JComponent
의 서브 클래스는 아니지만 그 서브 클래스를위한 경우에만 그러한 JFrame
또는 JPanel
로 작동합니다. 뭐가 잘못 되었 니?
그래서 'SwingNode'는 무엇입니까? 그리고'setContent (...) '에 대한 EXACT 서명은 무엇입니까? – splungebob
@splungebob'SwingNode'는 JavaFX8의 클래스입니다. 여기를보십시오 : [link] (http://download.java.net/jdk8/jfxdocs/index.html?javafx/embed/swing/SwingNode.html) – Eugene
좋습니다, 감사합니다. 내가 처음 대답했을 때 javafx 태그를 놓쳤을 것입니다. – splungebob