Arbeiten an der Erstellung von Bild-Galerie in JavaFX. nicht in der Lage, um Bild richtig
Bin ich der Erstellung von Bild-Galerie mit javafx. Ich fand viele Sachen im internet bezüglich dieses aber nicht in der Lage, um jede geeignete Hilfe für dieses Problem. Ich habe ein Bild erstellen Galerie wie picasa viewer. alle Bilder in der Miniaturansicht in " mein Bild anzeigen und nach, dass, wenn ich wählen Sie ein Bild, das in pop-up-viewer. Ich habe es einige Codes für die, aber ich nicht die richtige Ausgabe. Alle Bilder aus dem Ordner neu zeichnen aus dem gleichen Koordinaten.
Unten ist mein code und die Ausgabe.
@Override
public void initialize(URL url, ResourceBundle rb) {
String path = "/home/ubuntu/eclipse with liferay/Desktop/imagetest/";
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (final File file : listOfFiles) {
ImageView imageView;
imageView = createImageView(file);
imagecontainer.getChildren().addAll(imageView);
}
}
private ImageView createImageView(final File imageFile) throws FileNotFoundException, FileNotFoundException, FileNotFoundException, FileNotFoundException {
//DEFAULT_THUMBNAIL_WIDTH is a constant you need to define
//The last two arguments are: preserveRatio, and use smooth (slower) resizing
ImageView imageView = null;
try {
final Image image;
image = new Image(new FileInputStream(imageFile), DEFAULT_THUMBNAIL_WIDTH, 0, true, true);
imageView = new ImageView(image);
} catch (FileNotFoundException ex) {
Logger.getLogger(GalleryController.class.getName()).log(Level.SEVERE, null, ex);
}
return imageView;
}
}
bitte helfen Sie mir zu lösen mein Problem. Ich möchte, um die Bilder einzeln, als miniaturen an.
Was ist
Bild-container ist FXML-Bereich.
sorry Mann, ich habe vergessen zu erwähnen, Bereich 😐
Gut, ein
Ich habe versucht, mit der tiledpane auch, aber konnte nicht alle Bild.. gefliesten Bereich ersetzen Sie einfach Bild mit dem letzten Bild. überschreiben Sie alle Bild mit Letzte.. und am Ende mit dem letzten Bild nur angezeigt.
imageContainer
?Bild-container ist FXML-Bereich.
sorry Mann, ich habe vergessen zu erwähnen, Bereich 😐
Gut, ein
Pane
nicht im layout. (Siehe docs). Also, wenn Sie wollen, um die Bilder gelegt, die Sie benötigen, um ein layout-Fenster führt, dass die layout. Sie haben nicht angegeben, wie Sie wollen, getan, und so ist es schwer die Frage zu beantworten. Vielleicht Lesen Sie die layout-tutorial, und wählen Sie eine layout-Fenster.Ich habe versucht, mit der tiledpane auch, aber konnte nicht alle Bild.. gefliesten Bereich ersetzen Sie einfach Bild mit dem letzten Bild. überschreiben Sie alle Bild mit Letzte.. und am Ende mit dem letzten Bild nur angezeigt.
InformationsquelleAutor Java Man | 2014-11-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie erstellen eine TilePane und fügen Sie die Bildansicht ist. Sie können eine ScrollPane, wenn nötig. Ein komplettes Beispiel mit Doppel-klicken Sie zum erstellen eines Vollbild-Vorschau ist unten dargestellt. Können Sie natürlich tun, notwendigen änderungen für die Schaffung einer FXML 🙂
Ausgabe
Dies funktioniert gut, wenn Sie die Fenstergröße ändern, so dass die ScrollPane sichtbar, wenn erforderlich.
Hallo.. hier in der Galerie.. nur png-Dateien anzeigen.. jpg nicht funktioniert..?
Alle Bilder in der Abbildung oben, haben das format
jpg
. Wenn es etwas gibt, das nicht funktioniert, erstellen Sie bitte eine neue Frage mit einer MCVE und ein link zu dieser Frage/Antwort.wie wäre es mit Scenebuilder, dies zu tun?
Sie können Szene-Builder erstellen, ein Skelett auf dem Bildschirm, aber die verschiedenen Eigenschaften definiert werden muss über den Controller.
InformationsquelleAutor ItachiUchiha