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 Both sides next revision
swing:labels [2015/05/11 03:59]
gthanos
swing:labels [2015/05/11 04:01]
gthanos
Line 20: Line 20:
     LabelGreeting lg = new LabelGreeting();​     LabelGreeting lg = new LabelGreeting();​
     lg.setVisible(true);​     lg.setVisible(true);​
 +  }
 +}
 +</​code>​
 +
 +Δείτε το παρακάτω παράδειγμα από το site της Oracle και μεταβάλλετε τις παραμέτρους. Παρατηρήστε πως μπορείτε να προσθέσετε HTML κείμενο σε ένα αντικείμενο τύπου Label.
 +<code java LabelDemo.java>​
 +package components;
 +
 +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();​
 +      }
 +    });
   }   }
 } }
swing/labels.txt · Last modified: 2016/02/26 11:15 (external edit)