Изображения на JLabel

#java #swing

Вопрос:

У меня возникла проблема, я практиковался в программировании на Java программа, которая отображает графический интерфейс java с некоторым текстом и изображением Проблема в том, что изображения не отображаются, и я не могу понять, почему Вот код:

 import java.awt.*;
import javax.swing.*;
public class DON extends JFrame {
   private JPanel panel;

   public DON() {
        //Impostazioni finestra
        JFrame finestra = new JFrame("Title of page");
        finestra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        finestra.setLayout(null);
        finestra.getContentPane().setBackground(Color.black);
        finestra.setResizable(false);
        finestra.setVisible(true);
        finestra.setSize(1280, 720);

        //Impostazioni pannello


        JPanel pannello = new JPanel();
        pannello.setBounds(450, 0, 200 , 30);
        pannello.setBackground(Color.black);
        JPanel startPanel = new JPanel();
        startPanel.setBounds(0, 0, 1280 , 30);
        startPanel.setBackground(Color.blue);

        //Jpanel for images
        JPanel imagePanel = new JPanel();
        imagePanel.setBounds(0, 30, 1280, 720);
        //Impostazioni label e ImageIcon
        JLabel label = new JLabel("Image on JLabel!");
        label.setBackground(Color.black);
        label.setForeground(Color.white);

        JLabel imageLabel = new JLabel( "test", new ImageIcon( "2.png" ), JLabel.LEFT );




        /* put every jlabel to jpanel and put my jpanel to a container ; */
        startPanel.add(imageLabel);
        imagePanel.add(imageLabel);
        pannello.add(imagePanel);
        pannello.add(label);

        Container con = finestra.getContentPane();

        con.add(pannello);
        con.add(imagePanel);
        con.add(startPanel);
        }
   public static void main(String args[]) {
      new DON();
   }
}

 

Вы не могли бы мне помочь?

Комментарии:

1. проверьте путь к вашему изображению

2. Я поместил свое изображение в ту же папку java-файла, я написал его плохо?

Ответ №1:

Это связано с проблемой с расположением вашего файла изображения.

Чтобы исправить это,я предлагаю этот метод.

 new ImageIcon(this.getClass().getResource("2.png"))
 

Обязательно очистите сборку, а затем восстановите ее перед запуском.

Или вы можете использовать путь, начинающийся с папки src

 new ImageIcon("src/..../2.png") //put your correct path
 

Редактировать:

Вы должны поместить finestra.setVisible(true); в последнюю строку конструктора DON() , иначе вы получите черный экран (как вы уже упоминали в удаленном ответе).