Windowbuilder - Icon für Button einbinden

Bolic

Mitglied
Hallo Freunde,

leider kann ich irgendwie nicht eine richtig gute Antwort für meine Frage ergooglen:

Man kann direkt über eine integrierte Funktion ein Bild/Icon für einen Button einfügen.
Dort kann man nun aber auf verschiedene Weisen einbinden:
Classpath resource und absolute path in file system.

Welche Vor- und Nachteile haben diese beiden Optionen? Wenn ich die classpath resource nehmen soll, wie bindet man die Bilder wo ein, damit sie dort angezeigt werden?


Zweite Frage: ich habe nun ein icon 40x30 px über die zweite Option eingebunden. Wenn ich das Programm ausführe wird alles in seiner richtigen größe angezeigt, jedoch im design modus des Windowbuilders wird das icon meeeeeega groß angezeigt und überdeckt alles andere....


Vielen Dank für eure Mühen 😉
 
Zur ersten Frage
Classpath resource und absolute path in file system.
Eine Resource über absoluten Pfad ist zwar schnell eingerichtet, macht aber Probleme, wenn dein Programm auf einem anderen Rechner laufen soll, wo der Pfad (wahrscheinlich) nicht gültig ist. Zweites Problem ist, das das Deployment deines Programms aus der Bereitstellung der JAR besteht UND du den Ordner mit den Bildern hinzupacken musst.

Daher ist der erste Vorschlag, das Bild über den Classpath zu laden eindeutig der bessere. Zum Beispiel kannst du dann aus der JAR_Datei deines Programms auch direkt die Bilder laden und anzeigen.

Wie du deinem Projekt den Classpath änderst, ist von der IDE abhängig, bei Eclipse zum Beispiel unter Build-Path anpassen.

Zur zweiten Frage
design modus des Windowbuilders wird das icon meeeeeega groß
Da gibst du zuwenig Informationen ;-) Meiner Vermutung ist, das da kein oder richtige Layout-Manager verwendet wird. Ein bisschen Code würde helfen.
 
Danke, das hat mir weiter geholfen.

(Eclipse, Windowbuilder) Es reicht schon einfach nen Ordner mit den gewünschten Bildern
mit in den src-Ordner zu packen. Dann in Eclipse das Workingset aktualisieren (F5). In dem
Auswahlmenu für Bilder die erste (Classpath) auswählen und im Browser einfach das gewünschte
Bild wählen. Es hilft sicherlich zusätzlich dem Bild noch ein paar Werte mitzugeben:

Code:
button.setMargin(new java.awt.Insets(0, 0, 0, 0));

Damit setzt man die Abstände zu den Rändern des Buttons auf jeweils 0. Anders gesagt: Der Button passt sich der Größe des Bildes an.
 

Zurück
Oben