Comments (1)
Here is my temporary solution:
Step 1:
Use JFxFxmlView
class replace zhe AbstractFxmlView
class
public class JFxFxmlView extends AbstractFxmlView {
private String value;
private String[] css;
private String bundle;
private String encoding;
private String title;
private StageStyle stageStyle;
private final FXMLView annotation = getFXMLAnnotation();
public JFxFxmlView () {
super();
this.value = this.annotation.value();
this.css = this.annotation.css();
this.bundle = this.annotation.bundle();
this.encoding = this.annotation.encoding();
this.title = this.annotation.title();
String style = this.annotation.stageStyle();
this.stageStyle = StageStyle.valueOf(style.toUpperCase());
}
private FXMLView getFXMLAnnotation() {
Class<? extends AbstractFxmlView> clazz = this.getClass();
FXMLView annotation = clazz.getAnnotation(FXMLView.class);
return annotation;
}
...
...
// getter and setter
Step 2:
Use JFxToolViewManager
class realization AbstractJavaFxApplicationSupport
class
public class JFxToolViewManager extends AbstractJavaFxApplicationSupport implements InitializingBean {
@Autowired
private GxAccountService accountService;
private static ConfigurableApplicationContext APPLICATION_CONTEXT;
public static Scene SCENE;
public static Stage PRIMARY_STAGE;
public static JFxToolViewManager INSTANCE;
@Override
public void afterPropertiesSet() {
INSTANCE = this;
}
@Override
public void beforeInitialView(Stage stage, ConfigurableApplicationContext ctx) {
super.beforeInitialView(stage, ctx);
APPLICATION_CONTEXT = ctx;
PRIMARY_STAGE = stage;
//TODO something...
}
public static void show(Class<? extends JFxFxmlView> window, Modality mode) {
JFxFxmlView view = APPLICATION_CONTEXT.getBean(window);
PRIMARY_STAGE = new Stage();
if (view.getView().getScene() != null) {
SCENE = view.getView().getScene();
} else {
SCENE = new Scene(view.getView());
}
PRIMARY_STAGE.setScene(SCENE);
PRIMARY_STAGE.initModality(mode);
PRIMARY_STAGE.initOwner(getStage());
PRIMARY_STAGE.setTitle(view.getTitle());
PRIMARY_STAGE.initStyle(view.getStageStyle());
PRIMARY_STAGE.showAndWait();
}
public static void show(Class<? extends JFxFxmlView> window) {
JFxFxmlView view = APPLICATION_CONTEXT.getBean(window);
if (GUIState.getScene() == null) {
SCENE = new Scene(view.getView());
GUIState.setScene(SCENE);
}
showView(window);
}
public static void launch(String[] args) {
launch(JFxToolViewManager.class, JFxToolMainView.class, new JFxSplashView(), args);
}
...
...
Step 3 :
Use JFxToolViewManager .show(param , param )
or JFxToolViewManager .show(param )
,If you want to close zhe current
Stage
, you can use JFxToolViewManager .PRIMARY_STAGE.close()
.
Attention, it's only temporary.
from springboot-javafx-support.
Related Issues (20)
- How to run on different platforms, how to pack?
- How to set the locale for the whole application ? HOT 3
- showView methods from AbstractJavaFxApplicationSupport should return more information HOT 1
- there is a Exception when i use webView in FXML
- Disable web-server
- have any plans to upgrade to javafx11? HOT 2
- How to support Chinese? HOT 2
- How to set the title of dialog or subwindow? HOT 1
- Allow custom error action
- How to close a stage create by Main.showView()? thanks
- Getting No auto configuration classes found when extending AbstractJavaFxApplicationSupport.class with @SpringBootApplication class HOT 6
- Can't set controller in HelloworldJavaView demo HOT 3
- No auto configuration classes found when extending AbstractJavaFxApplicationSupport.class with @SpringBootApplication class on Java 11
- Multiple window problems HOT 2
- Whether it is possible to update java11 branches to maven libraries HOT 1
- it cannot load classpath resource HOT 1
- de.felixroske.jfxsupport.AbstractJavaFxApplicationSupport - Failed to load spring application context: HOT 1
- <Error: No auto configuration classes found in META-INF/spring.factories> HOT 6
- Suggest changing the createStage method from private to public
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from springboot-javafx-support.