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
swing:labels [2015/05/11 03:59]
gthanos
swing:labels [2016/02/26 11:15] (current)
Line 38: Line 38:
 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>​
 +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();​
 +      }
 +    });
 +  }
 +}
 </​code>​ </​code>​
  
  
  
swing/labels.1431316768.txt.gz · Last modified: 2016/02/26 11:15 (external edit)