User Tools

Site Tools


swing:labels

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
swing:labels [2015/05/11 03:59]
gthanos
swing:labels [2017/04/04 15:55]
gthanos
Line 18: Line 18:
      
   public static void main(String[] args) {   public static void main(String[] args) {
-    LabelGreeting lg = new LabelGreeting(); +    javax.swing.SwingUtilities.invokeLater(new Runnable() { 
-    lg.setVisible(true);+      public void run() { 
 +       LabelGreeting lg = new LabelGreeting(); 
 +       lg.setVisible(true); 
 +      } 
 +    });
   }   }
 } }
Line 38: Line 42:
 void setVerticalTextPosition(int textPosition) void setVerticalTextPosition(int textPosition)
 //Sets the vertical position of the label's text, relative to its image. //Sets the vertical position of the label's text, relative to its image.
 +</code>
 +
 +Δείτε το παρακάτω παράδειγμα από το site της Oracle και μεταβάλλετε τις παραμέτρους. Παρατηρήστε πως μπορείτε να προσθέσετε HTML κείμενο σε ένα αντικείμενο τύπου Label.
 +<code java LabelDemo.java>
 +
 +import java.awt.*;
 +import java.awt.event.*;
 +import javax.swing.*;
 +
 +/*
 + * LabelDemo.java needs one other file:
 +   images/middle.gif
 + */
 +public class LabelDemo extends JPanel {
 +  public LabelDemo() {
 +    super(new GridLayout(3,1));  //3 rows, 1 column
 +    
 +    JLabel label1, label2, label3, label4;
 +
 +    ImageIcon icon = createImageIcon("images/middle.gif",
 +                     "a pretty but meaningless splat");
 +                     
 +    //setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
 +
 +    //Create the first label.
 +    label1 = new JLabel("Image and Text",
 +              icon,
 +              JLabel.LEFT);
 +    //Set the position of its text, relative to its icon:
 +    label1.setVerticalTextPosition(JLabel.BOTTOM);
 +    label1.setHorizontalTextPosition(JLabel.CENTER);
 +    label1.setBorder(BorderFactory.createLineBorder(Color.BLACK));
 +
 +    //Create the other labels.
 +    label2 = new JLabel("Text-Only Label");
 +    //label2.setHorizontalAlignment(JLabel.RIGHT);
 +    label2.setBorder(BorderFactory.createLineBorder(Color.BLACK));
 +    
 +    label3 = new JLabel(icon);
 +    label3.setBorder(BorderFactory.createLineBorder(Color.BLACK));
 +    
 +    label4 = new JLabel("<html><font size='12pt' color='red'>HTML text</font></html>", JLabel.RIGHT);
 +    label4.setBorder(BorderFactory.createLineBorder(Color.BLACK));
 +
 +    //Create tool tips, for the heck of it.
 +    label1.setToolTipText("A label containing both image and text");
 +    label2.setToolTipText("A label containing only text");
 +    label3.setToolTipText("A label containing only an image");
 +
 +    //Add the labels.
 +    add(label1);
 +    add(label2);
 +    add(label3);
 +    add(label4);
 +  }
 +
 +  /** Returns an ImageIcon, or null if the path was invalid. */
 +  protected static ImageIcon createImageIcon(String path,
 +                         String description) {
 +    java.net.URL imgURL = LabelDemo.class.getResource(path);
 +    if (imgURL != null) {
 +      return new ImageIcon(imgURL, description);
 +    } else {
 +      System.err.println("Couldn't find file: " + path);
 +      return null;
 +    }
 +  }
 +
 +  /**
 +   * Create the GUI and show it.  For thread safety,
 +   * this method should be invoked from the
 +   * event dispatch thread.
 +   */
 +  private static void createAndShowGUI() {
 +    //Create and set up the window.
 +    JFrame frame = new JFrame("LabelDemo");
 +    frame.setSize(400,300);
 +    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 +
 +    //Add content to the window.
 +    frame.add(new LabelDemo());
 +
 +    //Display the window.
 +    //frame.pack();
 +    frame.setVisible(true);
 +  }
 +
 +  public static void main(String[] args) {
 +    //Schedule a job for the event dispatch thread:
 +    //creating and showing this application's GUI.
 +    SwingUtilities.invokeLater(new Runnable() {
 +      public void run() {
 + //Turn off metal's use of bold fonts
 +     UIManager.put("swing.boldMetal", Boolean.FALSE);
 +        
 + createAndShowGUI();
 +      }
 +    });
 +  }
 +}
 </code> </code>
  
  
  
swing/labels.txt · Last modified: 2018/03/27 19:37 (external edit)