====== Εικόνες (ImageIcons) ======
Η κλάση που υποστηρίζει εικόνες στο //Swing// είναι η κλάση [[http://docs.oracle.com/javase/7/docs/api/javax/swing/ImageIcon.html|ImageIcon]] η οποία επιτρέπει την δημιουργία μιας εικόνας που μπορείτε να την χρησιμοποιήσετε στην συνέχεια σε κάποια αντικείμενο των κλάσεων [[http://docs.oracle.com/javase/7/docs/api/javax/swing/JLabel.html|JLabel]] ή [[http://docs.oracle.com/javase/7/docs/api/javax/swing/JButton.html|JButton]], όπως το παρακάτω παράδειγμα με χρήση της κλάσης [[swing:labels|JLabel]]
ImageIcon icon = new ImageIcon("images/middle.gif",
"a pretty but meaningless splat");
JLabel label1 = new JLabel("Image and Text", icon, JLabel.LEFT);
===== Μεταβάλλοντας το μέγεθος μιας εικόνας =====
Αν θέλετε να αλλάξετε τις διαστάσεις μιας εικόνας πριν την τοποθετήσετε μέσα στο //JComponent// της επιλογής σας μπορείτε να το κάνετε, αλλά όχι με χρήση της κλάσης ImageIcon. Ο πιο απλός τρόπος είναι να χρησιμοποιήσετε την κλάσης [[http://docs.oracle.com/javase/7/docs/api/java/awt/Image.html|java.awt.Image]] η οποία προσφέρει και δυνατότητα μεταβολής του μεγέθους της εικόνας. Ένας τρόπος για να το κάνετε είναι ο παρακάτω κώδικας.
ImageIcon icon = new ImageIcon("images/middle.gif", "a pretty but meaningless splat");
Image image = icon.getImage().getScaledInstance(newWidth, newHeight, Image.SCALE_DEFAULT);
icon = new ImageIcon(image);
Οι επιλογές που έχετε αναφορικά με την τελευταία παράμετρο της μεθόδου ''getScaledInstance'' είναι οι παρακάτω.
* **Image.SCALE_DEFAULT:** Use the default image-scaling algorithm.
* **Image.SCALE_FAST:** Choose an image-scaling algorithm that gives higher priority to scaling speed than smoothness of the scaled image.
* **Image.SCALE_SMOOTH:** Choose an image-scaling algorithm that gives higher priority to image smoothness than scaling speed.
* **Image.SCALE_AREA_AVERAGING:** Use the Area Averaging image scaling algorithm.