This shows you the differences between two versions of the page.
|
swing:icons [2015/05/18 04:55] gthanos [Μεταβάλλοντας το μέγεθος μιας εικόνας] |
swing:icons [2016/02/26 11:15] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Εικόνες (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]] | ||
| - | |||
| - | <code java> | ||
| - | ImageIcon icon = new ImageIcon("images/middle.gif", | ||
| - | "a pretty but meaningless splat"); | ||
| - | |||
| - | JLabel label1 = new JLabel("Image and Text", icon, JLabel.LEFT); | ||
| - | </code> | ||
| - | |||
| - | ===== Μεταβάλλοντας το μέγεθος μιας εικόνας ===== | ||
| - | |||
| - | Αν θέλετε να αλλάξετε τις διαστάσεις μιας εικόνας πριν την τοποθετήσετε μέσα στο //JComponent// της επιλογής σας μπορείτε να το κάνετε, αλλά όχι με χρήση της κλάσης ImageIcon. Ο πιο απλός τρόπος είναι να χρησιμοποιήσετε την κλάσης [[http://docs.oracle.com/javase/7/docs/api/java/awt/Image.html|java.awt.Image]] η οποία προσφέρει και δυνατότητα μεταβολής του μεγέθους της εικόνας. Ένας τρόπος για να το κάνετε είναι ο παρακάτω κώδικας. | ||
| - | <code java> | ||
| - | 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); | ||
| - | </code> | ||
| - | Οι επιλογές που έχετε αναφορικά με την τελευταία παράμετρο της μεθόδου ''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. | ||
| - | |||
| - | |||