如何在Jframe java(eclipse)中加载图像

Ren*_*ene 2 java swing image gif paintcomponent

我有一个paneel.java文件,如下所示:

import java.awt.*;
import javax.swing.*;

public class Paneel extends JFrame
{
    public static void main ( String [] args )
    {
        // frame
        JFrame frame = new Paneel();
        frame.setSize ( 1000, 1000 );
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        frame.setTitle( "Remembory" );
        frame.setVisible( true );
    }

    class Gifpaneel extends JPanel{
        private ImageIcon gif, animatedGif;

        public Gifpaneel() {
            gif = new ImageIcon( "test.gif" );
            animatedGif = new ImageIcon( "animaties/test.gif" );
        }       

        public void paintComponent( Graphics g ){
            super.paintComponent( g );

            gif.paintIcon( this, g, 100, 100 );
            animatedGif.paintIcon ( this, g, 250, 100 );
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

我想展示test.gif文件.我怎么做到这一点?因为当我在eclipse中运行它时,我只得到没有图像的jframe.

Rak*_* KR 13

用这个

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;

public class ImageInFrame {
    public static void main(String[] args) throws IOException {
        String path = "Image1.jpg";
        File file = new File(path);
        BufferedImage image = ImageIO.read(file);
        JLabel label = new JLabel(new ImageIcon(image));
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.getContentPane().add(label);
        f.pack();
        f.setLocation(200,200);
        f.setVisible(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 带有Icon/ImageIcon的基本东西JLabel +1 (6认同)