JAVA : IconLocator – Native icons σε Gnome/KDE/XFCE!
Πριν λίγο καιρό ξεκίνησα να γράφω έναν απλό text editor και παρατήρησα πόσο “ξένο” φαινόταν το αποτέλεσμα (σε σχέση με τις υπόλοιπες εφαρμογές) εξ’ αιτίας των εικονιδίων που χρησιμοποιούσα.
Έτσι λοιπόν, μετά από λίγο ψάξιμο βρήκα το IconService του JDIC. Το πρόβλημα ήταν οτι υποστηρίζει μόνο Windows και Gnome και αυτά μέσα από τη χρήση του JNI (οπότε είναι απαραίτητα εξωτερικά .dll και .so).
Οπότε, ξανά ανοίγω το firefox και αρχίζω πάλι να ψάχνω. Τίποτα. Δεν υπήρχε τίποτα πέρα από το specification του Freedesktop.org για τα icon-themes. Τί να κάνουμε, αυτά έχει η ζωη… Ανοίγω το NetBeans και ξεκινώ. Έτσι, σας παρουσιάζω το IconLocator.
Εμείς, ως χρήστες της βιβλιοθήκης το μόνο που θα χρησιμοποιήσουμε είναι η τάξη IconManager.
Ένα αντικείμενο IconManager παίρνει κατα τη δημιουργία του ως παράμετρο ένα αντικείμενο που υλοποιεί τη διεπαφή FallbackIconLoader.
IconManager iconManager = new IconManager(null);
(Η παράμετρος μπορεί να είναι null – για την ακρίβεια, εγώ ποτέ δε χρησιμοποιώ αντικείμενα που υλοποιούν τη FallbackIconLoader, απλά αν επιστρέψει null η αναζήτηση για ένα εικονίδιο αποφασίζω μέσα από την εφαρμογή τί θα γίνει.)
Αφού κατασκευάσουμε ένα instance της IconManager, μπορούμε να αναζητήσουμε εικονίδια κάνοντας κλήσεις στη μέθοδο getIcon() :
iconManager.getIcon(”document-new”, 24);
όπου το αποτέλεσμα της παραπάνω στο σύστημά μου θα ήταν το εικονίδιο:
Για να κατεβάσετε το jar αλλά και τον κώδικα κάντε κλικ εδώ.

[...] JAVA : IconLocator – Native icons σε Gnome/KDE/XFCE! Πριν λίγο καιρό ξεκίνησα να γράφω έναν απλό text editor και παρατήρησα [...] [...]