Skip to content

Commit a850814

Browse files
committed
Add icons
1 parent da092ca commit a850814

File tree

8 files changed

+33
-5
lines changed

8 files changed

+33
-5
lines changed

misc/gear.png

24.7 KB
Loading

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>de.roskenet</groupId>
77
<artifactId>springboot-javafx-support</artifactId>
8-
<version>1.3.7</version>
8+
<version>1.3.8</version>
99
<packaging>jar</packaging>
1010

1111
<name>springboot-javafx-support</name>

src/main/java/de/felixroske/jfxsupport/AbstractJavaFxApplicationSupport.java

+32-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package de.felixroske.jfxsupport;
22

3+
import java.util.ArrayList;
4+
import java.util.List;
5+
36
import org.springframework.boot.SpringApplication;
47
import org.springframework.context.ConfigurableApplicationContext;
8+
import org.springframework.core.env.Environment;
59

610
import javafx.application.Application;
711
import javafx.scene.Scene;
@@ -22,7 +26,7 @@ public abstract class AbstractJavaFxApplicationSupport extends Application {
2226
private static Stage stage;
2327
private static Scene scene;
2428

25-
protected static Image icon;
29+
protected static List<Image> icons = new ArrayList<>();
2630

2731
public static Stage getStage() {
2832
return stage;
@@ -31,11 +35,36 @@ public static Stage getStage() {
3135
public static Scene getScene() {
3236
return scene;
3337
}
38+
39+
private List<String> propertyArrayReader(Environment env, String propName) {
40+
ArrayList<String> list = new ArrayList<>();
41+
int counter=0;
42+
String prop = env.getProperty(propName+"[" + counter + "]");
43+
44+
while(prop != null) {
45+
list.add(prop);
46+
counter++;
47+
prop = env.getProperty(propName+"[" + counter + "]");
48+
}
49+
50+
return list;
51+
}
3452

3553
@Override
3654
public void init() throws Exception {
3755
applicationContext = SpringApplication.run(getClass(), savedArgs);
38-
icon = new Image(getClass().getResource("/icon.png").toExternalForm());
56+
List<String> fsImages = propertyArrayReader(applicationContext.getEnvironment(), "javafx.appicons");
57+
58+
if(!fsImages.isEmpty()) {
59+
fsImages.forEach((s) -> icons.add(new Image(getClass().getResource(s).toExternalForm())));
60+
}
61+
else { // add factory images
62+
icons.add(new Image(getClass().getResource("/icons/gear_16x16.png").toExternalForm()));
63+
icons.add(new Image(getClass().getResource("/icons/gear_24x24.png").toExternalForm()));
64+
icons.add(new Image(getClass().getResource("/icons/gear_36x36.png").toExternalForm()));
65+
icons.add(new Image(getClass().getResource("/icons/gear_42x42.png").toExternalForm()));
66+
icons.add(new Image(getClass().getResource("/icons/gear_64x64.png").toExternalForm()));
67+
}
3968
}
4069

4170
@Override
@@ -55,8 +84,7 @@ public static void showView(Class<? extends AbstractFxmlView> newView) {
5584
scene.setRoot(view.getView());
5685
}
5786

58-
// stage.setTitle(windowTitle);
59-
stage.getIcons().add(icon);
87+
stage.getIcons().addAll(icons);
6088
stage.setScene(scene);
6189
// stage.setResizable(true);
6290
// stage.centerOnScreen();
531 Bytes
Loading
731 Bytes
Loading
1.31 KB
Loading
1.66 KB
Loading
2.36 KB
Loading

0 commit comments

Comments
 (0)