|
Code:
|
Code : lName.setIcon("./IMG/name_icon.jpg");
Error : setIcon(javax.swing.Icon) in javax.swing.JLabel cannot
be applied to (java.lang.String) |
JLabel.
setIcon method takes the interface type Icon which is implemented by the ImageIcon class. You find this by looking up the
setIcon method in the JLabel class api. Follow the link (in the arguemnt) to the Icon interface, note that ImageIcon is an implementing class, follow the link to the ImageIcon api and check out the class constructors: there are 9 in my j2se 1.5 javadocs.
So try something like:
|
Code:
|
ImageIcon icon = new ImageIcon("IMG/name_icon.jpg");
System.out.println("icon = " + icon); // test for null
lName.setIcon(icon);
// or
URL url = getClass().getResource("IMG/name_icon.jpg");
System.out.println("url = " + url);
iName.setIcon(new ImageIcon(url));
// or
lName.setIcon(new ImageIcon(new File("IMG/name_icon.jpg")); |
|
Code:
|
Code : Image icon = createImageIcon("./IMG/name_icon.jpg");
lName = new JLabel(icon);
Error : cannot find symbol method createImageIcon(java.lang.String)
cannot find symbol constructor JLabel(java.awt.Image) |
Check the argument type for the
createImageIcon method you are calling. The compiler says it does not take a String argument.
Also, the type of "icon" is wrong according to the compiler. You have declared the "icon" variable as type Image. This type declaration must match the return type declaration of the
createImageIcon method you are calling. From the name of the method I would suspect/infer that its return type is ImageIcon, ie, it may have a method signature like this:
|
Code:
|
public ImageIcon createImageIcon(args_of_some_type) {
ImageIcon icon = new ImageIcon(some_args);
...
return icon;
}
// Therefore:
ImageIcon icon = createImageIcon(args); |
ImageIcon is an older (j2se 1.2) way of loading images and does not report trouble. Its api and the underlying MediaTracker api provide methods you can use to ask about loading success. The newer way to load images (j2se 1.4+) is ImageIO.
read methods. See api for options. It does report trouble.