User Tools

Site Tools


swing:labels

Labels - Η κλάση JLabel

Μέχρι τώρα είδαμε πως μπορείτε να προσθέσετε ένα κουμπί σε ένα αντικείμενο της κλάσης javax.swing.JFrame. Εάν θέλετε να προσθέσετε κείμενο ή εικόνα χωρίς να υπάρχει αλληλεπίδραση με αυτό θα χρειαστείτε ένα label (javax.swing.JLabel) για να το κάνετε όπως παρακάτω:

LabelGreeting.java
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
 
public class LabelGreeting extends JFrame {
  public LabelGreeting () {
    super();
    setTitle("Label Demo");
    JLabel greeting = new JLabel("   How are you?    ");
    //JLabel greeting = new JLabel("<html><font size='10' color='red'>How are you?</font></html>");
    //JLabel greeting = new JLabel(new ImageIcon("howAreYou.jpg"));
 
    add(greeting);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    pack();
    setVisible(true);
  }
 
  public static void main(String[] args) {
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
      public void run() {
       LabelGreeting lg = new LabelGreeting();
      }
    });
  }
}
}

Ένα αντικείμενο της κλάσης JLabel μπορεί να περιέχει κείμενο ή εικόνα ή και τα δύο. Επίσης σε ένα τέτοιο αντικείμενο της κλάσης, στην θέση του κειμένου μπορείτε να προσθέσετε HTML όπως θα δούμε παρακάτω. Εάν προσθέσετε μόνο κείμενο αυτό στοιχίζεται αυτόματα στα αριστερά ενώ εάν προσθέσετε εικόνα αυτή στοιχίζεται αυτόματα στα δεξιά. Σε κάθε περίπτωση μπορείτε να προσδιορίσετε τον τρόπο στοίχισης του περιεχομένου μέσα από τις μεθόδους

void setHorizontalAlignment(int alignment)
//Sets the alignment of the label's contents along the X axis.
void setVerticalAlignment(int alignment)
//Sets the alignment of the label's contents along the Y axis.

Εάν ένα αντικείμενο JLabel περιέχει κείμενο και εικόνα μπορείτε να προσδιορίσετε την θέση του κειμένου σε σχέση με την εικόνα μέσα από τις μεθόδους

void setHorizontalTextPosition(int textPosition)
//Sets the horizontal position of the label's text, relative to its image.
void setVerticalTextPosition(int textPosition)
//Sets the vertical position of the label's text, relative to its image.

Στο παραπάνω πρόγραμμα βάλτε σε σχόλια τη γραμμή 9 και βγάλτε από τα σχόλια τις γραμμές 10 ή 11. Δείτε πως αλλάζει το περιεχόμενο του label εάν φορτώσετε μία εικόνα ή γράψετε HTML κείμενο. Προκειμένου να τρέξει το πρόγραμμα επιτυχώς στη γραμμή 11 θα χρειαστείτε την εικόνα

swing/labels.txt · Last modified: 2018/03/27 19:37 (external edit)