package eu.ggnet.saft.core.swing; import eu.ggnet.saft.core.SwingCore; import eu.ggnet.saft.core.fx.FxSaft; import java.awt.Window; import java.util.concurrent.Callable; import javafx.embed.swing.JFXPanel; import javafx.scene.layout.Pane; import javafx.stage.Modality; /** * * @author oliver.guenther * @param <T> * @param <R> */ public class SwingOpenPane<T, R extends Pane> extends AbstractSwingOpen<T, R> { public SwingOpenPane(Callable<T> before, Window parent, Modality modality, String id, Class<R> paneClass) { super(before, parent, modality, id, paneClass); } @Override protected T2<R> build(T parameter, Class<R> paneClass) throws Exception { SwingCore.ensurePlatformIsRunning(); final R pane = FxSaft.construct(paneClass, parameter); JFXPanel p = SwingCore.wrap(pane); return new T2<>(p, pane); } }