@Marco13
jVisualVM Ergebnisse:





Mit freundlichem Gruß,
MrSmile07
*** Edit ***
Ach was eigentlich so sparsam sein.
Hier die neuere Version zum selber gucken. (Falls Intresse)^^
http://puu.sh/otQlF/c87244d5de.jar
Mit freundlichem Gruß,
MrSmile07
Aaaahhh…
da fällt mir brennend heiß was ein: (Ich müßte nochmal in die Details der Implementierung schauen, um zu sehen, ob es (hier) wirklich relevant ist, aber…)
ImageIcon verwaltet intern einen Cache!
Abgesehen davon lädst du die Bilder ja wirklich in voller Auflösung, und speicherst sie anscheinend auch so (zumindest sehe ich jetzt nicht, wo das in https://forum.byte-welt.net/java-forum/awt-swing-javafx-swt/19714-jscrollpane-laden-nur-bestimmter-bilder.html#post133066 beschriebene Verkleinern der Bilder noch stattfindet).
Nochmal die zwei wichtigen Punkte:
- Lade die Bilder nicht mit ImageIcon, sondern mit ImageIO
- Direkt nach dem laden, skaliere sie runter, und zwar nicht mit getScaledInstance, sondern mit java - How to improve the performance of g.drawImage() method for resizing images - Stack Overflow
@Marco13 Achso, ok dass wusst eich nicht.^^
Hatte das aber schon vorher umgeschrieben zu:
g.drawImage(img, 0, 0, getWidth(), getHeight(), p);
In dem Custom Button.
Aber ich werde mal die Methode einfügen und das Laden ändern.
Btw. was ist der Unterscheid zu meiner jetzigen Bilder lade Funktion hingegen zu Image.IO?
Mit freundlcihem Gruß,
MrSmile07
*** Edit ***
Ps: Warum sind sowelche Methoden immer statisch… total der Wahnsinn^^XDD
*** Edit ***
Ahem… scheint nicht so gut Funktioniert zu haben:

Jetzt laggt es noch mehr.^^XDDDDDDD
Jetzt redest du von “laggen”, was ja nochmal was anderes ist als der Speicherverbrauch. Naja, insgesamt haben sich hier jetzt so viele Fragen und Unklarheiten angesammelt, dass ich kaum noch weiß, was ich dazu sagen soll, ehe es nicht etwas sortiert und konkretisiert ist.
@Marco13 Ich sende dir mal das Projekt per PM. Ich weiß jetzt nicht mehr wo das Problem ist was du nicht verstehst, vllt. hilft dir das weiter…^^
Ich bedanke mich aufjedefälle schonmal für die Hilfe bis hier hin.^^
Mit freundlichem Gruß,
MrSmile07
Ja, ich schau morgen/übermorge ggf. mal drüber (muss da vorsichtig sein - wer weiß, ob der “Screenshot”, von dem da die Rede war, nicht an irgendeinen Chinesischen Kreditkartenklauserver übertragen wird :D)
Aber natürlich. 
Mit freundlichem Gruß,
MrSmile07
Hmja, hab’ mal kurz (!) drübergeschaut, aber das ist mir etwas zu chaotisch und strukturfrei, um zu versuchen, da irgendwas dran zu verbessern. Wenn es wenigstens bedienbar wäre. Nenn’ mich altmodisch, aber … … … ich hoffe, dass diese Kachel-Kacke, die MS sich da ausgedacht hat, nicht dazu führt, dass in Zukunft alle Pogramme SO aussehen :sick:
Jedenfalls gibt es schnelle, effiziente und flexible Möglichkeiten, um Bilder zu laden, zu cachen, zu verkleinern, zu zeichnen oder als thumbnails in scrollbar anzuzeigen, … wenn es da konkrete Fragen gibt, werden die hier sicher gerne beantwortet.
[OT][quote=Marco13]Nenn’ mich altmodisch, aber … … … ich hoffe, dass diese Kachel-Kacke, die MS sich da ausgedacht hat, nicht dazu führt, dass in Zukunft alle Pogramme SO aussehen[/quote]
für welches UI Design Arten schlägt denn dein herz? :D[/OT]
[OT]
^^XDDDDDDDD
Ich finde eigentlich das flat design besser, weil das nicht mit 3000 schwachsinnigen 3d Grafiken zugespammt wird. {@mymaksimus {<-Broken dafq?} Ich weiß die Frage ging an @Marco13 ^^}
[/OT]
Ich habe btw glaube ich sogar die bessere Lösung gefunden, und zwar habe ich jetzt doch alle Bilder auf einmal geladen aber habe sie dann mit:
img = new ImageIcon(path).getImage().getScaledInstance(50, 50, Image.SCALE_FAST);
resized. {50 ist ein Beispiel Wert^^}
So wird auch alles geladen. Und der Button löscht das Bild sogar anscheined selbst aus dem RAM.^^
Mit freundlichem Gruß,
MrSmile07
[OT]
[QUOTE=mymaksimus]
für welches UI Design Arten schlägt denn dein herz? :D[/QUOTE]
Pragmatisch, funktional, Windows-95-Stil… (dunkelgrau, mit grünen Titelleisten…)
[/OT]