Re: Newbie Problem with Java Label
- From: Vova Reznik <address@xxxxxxxx>
- Date: Thu, 29 Dec 2005 21:35:08 GMT
aspnetpal wrote:
Hi every1, I'm new to java and trying to learn it by doing it ...
The problem I'm having is that I'm trying to display an image (which can only be displayed inside a label ... plz. correct me if I'm wrong).
Swing has many methods to display images (build in as setIcon(...) or you may override paintComponent(...)
http://www.google.com/search?hl=en&hs=n6j&client=firefox-a&rls=org.mozilla:en-US:official&q=how+to+display+image+in+java&spell=1
The label's text is displaying but not the picture. below is the code (it is same code from one of the samples from Sun's website)
Any help would be really appreciated. Thanks
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/mapImage1.gif", "a pretty but meaningless splat");
// System.out.println(icon); **** I put this here to see what it is
// put another line
if(icon != null){
System.out.println("Icon: width = " + icon.getWidth() + ", height = " + icon.getHeight());
} else {
System.err.println("Icon is null");
}
grabing ... //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); // label1.setPreferredSize( new Dimension(45, 32 ) );
//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
why content pane 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(); } }); } }
.
- Follow-Ups:
- Re: Newbie Problem with Java Label
- From: aspnetpal
- Re: Newbie Problem with Java Label
- References:
- Newbie Problem with Java Label
- From: aspnetpal
- Newbie Problem with Java Label
- Prev by Date: Newbie Problem with Java Label
- Next by Date: Re: Newbie Problem with Java Label
- Previous by thread: Newbie Problem with Java Label
- Next by thread: Re: Newbie Problem with Java Label
- Index(es):
Relevant Pages
|