Java Swing ImageIcon auf Buttongröße skalieren?

2 Antworten

In der Image-Klasse gibt es die Methode getScaledInstance, mit der du das Bild skalieren kannst.

Image scaledImage = yourIcon.getImage().getScaledInstance(button.getWidth(), button.getHeight(), Image.SCALE_SMOOTH);

Um wieder ein ImageIcon zu erhalten, kannst du ein neues ImageIcon-Objekt anlegen und dessen Konstruktor das Image-Objekt überreichen.

yourIcon = new ImageIcon(scaledImage);
Bryan23456789 
Fragesteller
 03.06.2022, 10:42

das ergibt aber ziemlich viel code wenn ich das mit 12 Bildern machen muss :(

0
regex9  03.06.2022, 12:34
@Bryan23456789

Eine Codezeile je Bild (also 12 Zeilen) ist eine ziemlich kurze Lösung. Ich verstehe da deine Erwartungshaltung nicht. Zumal dir doch Methoden / Arrays + Schleifen bekannt sein sollten, mit denen man sich wiederholenden Code erheblich kürzen kann. 🤨

0
regex9  03.06.2022, 12:36
@Bryan23456789

Der Code funktioniert definitiv. Die Frage ist eher, was du daraus machst. Das du bspw. das Bildverhältnis weiter beachten solltest, ist hoffentlich klar.

0

Ich hab mal das, was ich dir dazu am Montag geschickt hab, in unser GitHub Repo eingebaut. Funktioniert, wie gedacht.

regex9  02.06.2022, 12:19

Deine Antwort ist für Außenstehende leider nicht nachvollziehbar.

0
daCypher  02.06.2022, 14:19
@regex9

Stimmt, für die anderen Leser hier ist es nicht hilfreich.

Meine Änderung ist im Prinzip aber genau das, was du geschrieben hast.

0