Swing Label Demo : Label « Swing JFC « Java






Swing Label Demo

Swing Label Demo
 
/* From http://java.sun.com/docs/books/tutorial/index.html */

/*
 * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * -Redistribution of source code must retain the above copyright notice, this
 *  list of conditions and the following disclaimer.
 *
 * -Redistribution in binary form must reproduce the above copyright notice,
 *  this list of conditions and the following disclaimer in the documentation
 *  and/or other materials provided with the distribution.
 *
 * Neither the name of Sun Microsystems, Inc. or the names of contributors may
 * be used to endorse or promote products derived from this software without
 * specific prior written permission.
 *
 * This software is provided "AS IS," without a warranty of any kind. ALL
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
 * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
 * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN")
 * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
 * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
 * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
 * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
 * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,
 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 *
 * You acknowledge that this software is not designed, licensed or intended
 * for use in the design, construction, operation or maintenance of any
 * nuclear facility.
 */

import java.awt.GridLayout;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/*
 * SwingLabelDemo.java is a 1.4 application that needs one other file:
 *   images/middle.gif
 */
public class SwingLabelDemo extends JPanel {
    public SwingLabelDemo() {
        super(new GridLayout(3,1));  //3 rows, 1 column
        JLabel label1, label2, label3;

        ImageIcon icon = createImageIcon("images/middle.gif",
                                         "a pretty but meaningless splat");

        //Create the first label.
        label1 = new JLabel("Image and Text",
                            icon,
                            JLabel.CENTER);
        //Set the position of its text, relative to its icon:
        label1.setVerticalTextPosition(JLabel.BOTTOM);
        label1.setHorizontalTextPosition(JLabel.CENTER);

        //Create the other labels.
        label2 = new JLabel("Text-Only Label");
        label3 = new JLabel(icon);

        //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);
    }

    /** Returns an ImageIcon, or null if the path was invalid. */
    protected static ImageIcon createImageIcon(String path,
                                               String description) {
        java.net.URL imgURL = SwingLabelDemo.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-dispatching thread.
     */
    private static void createAndShowGUI() {
        //Make sure we have nice window decorations.
        JFrame.setDefaultLookAndFeelDecorated(true);

        //Create and set up the window.
        JFrame frame = new JFrame("SwingLabelDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Create and set up the content pane.
        SwingLabelDemo newContentPane = new SwingLabelDemo();
        newContentPane.setOpaque(true); //content panes must be opaque
        frame.setContentPane(newContentPane);

        //Display the window.
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}

           
         
  








Related examples in the same category

1.Create a JLabel with an image icon
2.Create JLabel component
3.Create a JLabel component
4.Putting HTML text on Swing componentsPutting HTML text on Swing components
5.Shows how displayed Mnemonic and labelFor properties work togetherShows how displayed Mnemonic and labelFor properties work together
6.A quick application to show a simple JLabelA quick application to show a simple JLabel
7.A JLabel that uses inline HTML to format its textA JLabel that uses inline HTML to format its text
8.Variations on a text and icon labelVariations on a text and icon label
9.A simple demonstration of text alignment in JLabelsA simple demonstration of text alignment in JLabels
10.Label with Image Label with Image
11.Label with HTML SampleLabel with HTML Sample
12.Label Text PositionLabel Text Position
13.LabelFor DemoLabelFor Demo
14.Label with IconLabel with Icon
15.Active Label SampleActive Label Sample
16.Label alignmentLabel alignment
17.HTML labelHTML label
18.Label background, icon, alignLabel background, icon, align
19.Scrollable LabelScrollable Label
20.Grab and Drag image scroll labelGrab and Drag image scroll label
21.Animation label
22.Label with various effectsLabel with various effects
23.Label for Label for
24.LabelFocusSample: setLabelForLabelFocusSample: setLabelFor
25.Adding Drag-and-Drop Support to a JLabel Component
26.Setting the Focus of a JTextField Component Using a JLabel Component
27.Adding an Icon to a JLabel Component
28.The text is horizontally and vertically centered
29.The text is right-justified and vertically centered
30.The text is left-justified and top-aligned
31.The text is right-justified and top-aligned
32.The text is left-justified and bottom-aligned
33.The text is right-justified and bottom-aligned
34.JLabel with more than one row
35.JLabel is for displaying text, images or both. It does not react to input events.
36.JSlider lets the user graphically select a value by sliding a knob within a bounded interval.
37.JLabel with lined border
38.Label with ImageIcon (Icon)
39.Multiline label (HTML)
40.Disable a label
41.Set the Preferred Size
42.Horizontal Alignment: CENTER
43.Vertical Alignment: CENTER
44.Horizontal Alignment: LEFT
45.Vertical Alignment: TOP
46.Horizontal Alignment: RIGHT
47.Vertical Alignment: BOTTOM
48.Associate JLabel component with a JTextField
49.A Label that uses inline HTML to format its text
50.A label with no indication it has been clicked
51.Solve the problem of text alignment in JLabels
52.Use a ScrollBar in both vertical and horizontal direction