Wenn ich versuche, mein extrahiertes/kompiliertes Java-Programm auszuführen, kann ich Bilder sehen, weil sie auf meinem PC gespeichert sind und im Code von meinem PC aus adressiert sind. Aber wenn ich das gleiche Programm auf einem anderen PC versuche, sind Bilder/Hintergründe weg. Wie kann ich Bilder in Java-Code speichern, während ich sie von einem Dis in ImageView anrufe, damit sie auch auf anderen Systemen angezeigt werden können? Ich benutze JavaFX und FXML, CSS.Wie kann Java mein Hintergrundbild im extrahierten kompilierten Java-Programm speichern?
Antwort
Sie können Ihre Bilder mit Java-Programm mit zwei Möglichkeiten bündeln:
1) setzen sie in Ihrem jar - erstellen Sie ein Paket mit dem Namen zB. „Bilder“ und die Bilder hinzufügen, dort, dann ist es
BufferedImage img = ImageIO.read(getClass().getResourceAsStream("/images/image.jpg"));
2) mit ihnen laden setzen in auf den gleichen Ordner wie Glas und laden sie mit:
BufferedImage img = ImageIO.read(new File("image.jpg"));
Für Sie Der beste Weg ist wahrscheinlich die # 1, weil Sie nur ein Glas bekommen - es ist einfacher, ein solches Glas zu kopieren und schwieriger, die Bilder zu manipulieren.
Ich habe es so gemacht. Vielen Dank!
@Override
public void start(Stage stage) throws Exception
{
Parent root = FXMLLoader.load(getClass().getResource("/grafika.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add("/application.css");
Image picture1 = new Image("/kava.jpg");
ImageView slika1 = new ImageView(picture1);
slika1.setImage(picture1);
stage.setScene(scene);
stage.setMaxHeight(530);
stage.setMaxWidth(800);
stage.setResizable(false);
stage.show();
}
Hallo, wenn dies die richtige Lösung für Ihr Problem darstellt, denken Sie bitte daran, es als akzeptierte Antwort für zukünftige Referenz zu markieren – fantaghirocco
- 1. Wie kann ich mein Hintergrundbild nicht wiederholen?
- 2. Kann Java einen kompilierten Scala-Code ausführen?
- 3. Wie verhindere ich, dass mein Hintergrundbild schrumpft?
- 4. Wie kann ich mein CSS-Hintergrundbild mit der Fenstergröße skalieren?
- 5. Warum funktioniert mein Hintergrundbild nicht?
- 6. Wie setze ich mein Hintergrundbild unten
- 7. Wie Hintergrundbild von ImageView in Bitmap speichern?
- 8. Warum zeigt mein Hintergrundbild nicht?
- 9. java kann nicht Hauptklasse von Eclipse kompilierten Code
- 10. Wie kann ich andere Sprites im Hintergrundbild verstecken?
- 11. Wie kann mein Java-Programm funktionieren? (ArrayList)
- 12. Wie setze ich ein Hintergrundbild in Java?
- 13. Warum wird mein Hintergrundbild überhaupt nicht angezeigt?
- 14. Java Swing Hintergrundbild
- 15. Hintergrundbild im Storyboard setzen
- 16. Rewriting-Methodenaufrufe in kompilierten Java-Klassen
- 17. Wie kann ich der Navigationszeile im Browserfragment ein Hintergrundbild hinzufügen?
- 18. Enthält Java Kommentare zum kompilierten Code?
- 19. Warum wird mein Hintergrundbild nicht angezeigt?
- 20. Wie kann ich instrumentierten Java-Bytecode von Java Agent speichern?
- 21. Wie kann ich den Pfad einer kompilierten Ressource abrufen?
- 22. Mein CSS-Hintergrundbild wird nicht angezeigt
- 23. Wie wird das Hintergrundbild im IPhone verlängert?
- 24. Wie kann ich Galeriebild im Anwendungsverzeichnis speichern
- 25. akka-http: Wie kann ich einen extrahierten Wert konsumieren/verbergen?
- 26. CSS Hintergrundbild zeigt nicht mein Bild
- 27. Warum wechselt mein Jquery-Hintergrundbild nicht?
- 28. C# - Wie sicher mein Connectionstring speichern
- 29. Wie Sie fabricjs Canvas-Bild auf einem anderen Hintergrundbild speichern?
- 30. Hintergrundbild nicht speichern in WordPress Customizer
Fügen Sie sie zu der JAR-Datei, indem Sie sie in den CLASSPATH zu bewegen, und verwenden Sie einen 'ClassLoader' sie zur Laufzeit öffnen ... –
Wollen Sie damit sagen, ich sollte sie auf das gleiche Paket bewegen, wo meine Klassen sind? Der zweite Teil habe ich verstanden, indem ich sie in der Hauptklasse in der Nähe der Wurzelcodes geführt habe. Tut mir leid, ich habe gerade mit Java angefangen. –