Java ImageIcon / Icon и JLabel не работают - PullRequest
3 голосов
/ 17 ноября 2011

Почему мой код не показывает изображение, которое я вставил?нет ошибки компиляции или синтаксической ошибки, но почему это так?

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;

public class FirstUI extends JFrame{

    private JLabel firstlabel;
    private JLabel secondLabel;
    private JLabel pie;
    public FirstUI(){
        super("Tittle");
        setLayout(new FlowLayout());
        firstlabel = new JLabel("Hello World");
        firstlabel.setToolTipText("Hello World");

        String path = "pie.png";
        Icon pie = new ImageIcon(path);
        secondLabel = new JLabel("Text with icon",pie,SwingConstants.LEFT);
        add(secondLabel);
        add(firstlabel);
    }
}

основной класс

import javax.swing.JFrame;
public class FirstUiTest {

    public static void main(String[] args){

         FirstUI MyUI = new FirstUI();
         MyUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         MyUI.setSize(320,280);
         MyUI.setVisible(true);
    }
}

Ответы [ 2 ]

3 голосов
/ 17 ноября 2011

, если "pie.png" находится на том же пути FirstUI.class, попробуйте использовать:

Icon pie = new ImageIcon(ImageIO.read( FirstUI.class.getResourceAsStream( "pie.png" ) ) );
1 голос
/ 17 ноября 2011

Я попробовал этот точный код, и он работал. Похоже, что pie.png не может быть найден. Если вы используете eclipse, поместите его в корень проекта (в той же папке, где находятся / bin и / src). В противном случае поместите его в тот же каталог, в котором вы запускаете команду java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...