package sceneantialiasingswing; import java.awt.Rectangle; import javafx.application.ConditionalFeature; import javafx.application.Platform; import javafx.embed.swing.JFXPanel; import javafx.geometry.Point3D; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.SceneAntialiasing; import javafx.scene.paint.Color; import javafx.scene.shape.Box; import javafx.scene.transform.Rotate; import javax.swing.JFrame; import javax.swing.SwingUtilities; /** * * @author weise */ public class SceneAntialiasingSwing { public static void main(String[] args) { SwingUtilities.invokeLater(() -> { buildAndShowGUI(); }); } private static void buildAndShowGUI() { JFrame frm = new JFrame(); frm.setBounds(new Rectangle(800, 400)); frm.setLocationRelativeTo(null); frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JFXPanel panel = new JFXPanel(); frm.add(panel); frm.setVisible(true); Platform.runLater(() -> { panel.setScene(createScene()); }); } private static Scene createScene() { Group root = new Group(); Scene scene = new Scene(root, 800, 400, false, SceneAntialiasing.BALANCED); System.out.println("Is antialiasing supported: " + Platform.isSupported(ConditionalFeature.SCENE3D)); // true System.out.println("Is antialiasing enabled: " + (scene.getAntiAliasing().equals(SceneAntialiasing.BALANCED))); // true scene.setFill(Color.STEELBLUE); Box b = new Box(300.0, 100.0, 19.0); b.setTranslateX(400); b.setTranslateY(200); root.getChildren().add(b); // rotate around the origin b.getTransforms().add(new Rotate(10, new Point3D(1, 0, 0))); b.getTransforms().add(new Rotate(16, new Point3D(0, 1, 0))); return scene; } }