2010-07-11 44 views
2

我是第一次使用Stackoverflow,因此请和我一起裸照。下面是用于在JLabel Swing组件中放置图标的Java Swing代码。我无法让我的图标出现在我的JLabel swing组件

package com.TheMcLeodgrp; 

import java.awt.FlowLayout; 
import java.awt.HeadlessException; 

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

public class Main extends JFrame { 
    public Main() throws HeadlessException { 
    setSize(300, 300); 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setLayout(new FlowLayout(FlowLayout.LEFT)); 

    Icon icon = new ImageIcon("myIcon.gif"); 
    JLabel label1 = new JLabel("Full Name :", icon, JLabel.LEFT); 

    JLabel label2 = new JLabel("Address :", JLabel.LEFT); 
    label2.setIcon(new ImageIcon("myIcon.gif")); 

    getContentPane().add(label1); 
    getContentPane().add(label2); 
    } 

    public static void main(String[] args) { 
    new Main().setVisible(true); 
    } 
} 

这是一个简单的标签程序,其他一切正常工作。图标(myIcon.gif)只是在运行程序时不会出现在标签中。我从一个标准的Eclipse IDE中运行它,并且它驻留在一个文件夹 - 即; images/myIcon.gif。看来我在这里错过了一些简单的东西,但我不知道。我需要将图标放在应用程序的其他位置吗?任何帮助将非常感激。

杰里麦克劳德

回答

0

我将第二@ eugener对推荐教程。此外,请尝试使用相对路径,并检查构建的结果ImageIcon

JLabel label2 = new JLabel("Address :", JLabel.LEFT); 
ImageIcon icon = new ImageIcon("images/myIcon.gif"); 
if (icon.getIconWidth() == -1) { 
    JOptionPane.showMessageDialog(null, 
     "No image!", "Gahh!", JOptionPane.ERROR_MESSAGE); 
} else { 
    label2.setIcon(icon); 
} 
相关问题