| Both sides previous revision
Previous revision
|
|
swing:icons [2018/03/27 19:36] |
swing:icons [2018/03/27 20:36] gthanos [Μεταβάλλοντας το μέγεθος μιας εικόνας] |
| | ====== Εικόνες - Η κλάση ImageIcon ====== |
| |
| | Η κλάση που υποστηρίζει εικόνες στο //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. |
| | |
| | |
| | | Προηγούμενο: [[:swing:color | Η κλάση Color ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:swing:labels | Η κλάση JLabel ]] | |