2
Как установить Piccolo2D
холст внутри JavaFX
?Как встроить холст Piccolo2D в JavaFX?
Я думал, что он должен работать через SwingNode, так как Piccolo
имеет Swing
управление под названием PCanvas.
Этот подход работает с Свинг:
public static void main(String[] args) {
PPath ellipse = PPath.createEllipse(100,100,400,200);
PCanvas canvas = new PCanvas();
canvas.getLayer().addChild(ellipse);
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.add(canvas, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
frame.setLocation(0, 0);
frame.setTitle("PCanvas_Try01");
frame.setVisible(true);
}
, но это не работает с JavaFX
:
@Override
public void start(Stage stage) throws Exception {
PPath ellipse = PPath.createEllipse(100, 100, 400, 200);
PCanvas canvas = new PCanvas();
canvas.getLayer().addChild(ellipse);
SwingNode swingNode = new SwingNode();
swingNode.setContent(canvas);
Group group = new Group();
group.getChildren().add(swingNode);
Scene scene = new Scene(group);
stage.setTitle("PCanvas_Try02");
stage.setScene(scene);
stage.show();
}
Почему вы используете PSwingCanvas? Это цель выглядит наоборот! –
@SuzanCioc Да, правильно, нет необходимости в этом случае, он отлично работает с 'PCanvas'. Но если вы добавляете узлы «PSwing», тогда должен быть «PSwingCanvas». Я обновил ответ, чтобы удалить его. – tenorsax