6

1つのフレームに画像を追加しようとしていますが、機能していないようです。指定されたファイルからImageIconによって作成された画像。イメージファイルは、Javaファイルが存在するseamディレクトリにあります。

import java.awt.BorderLayout;

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

    public class image {

        public static void main(String args[])
        {
            TimeFrame frame = new TimeFrame();
        }
    }

    class TimeFrame extends JFrame
    {
        //Image icon = Toolkit.getDefaultToolkit().getImage("me.jpg");
        ImageIcon icon = new ImageIcon("me.jpg");
        JLabel label = new JLabel(icon);
        public TimeFrame(){
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setTitle("My Frame");
            setSize(500,400);
            //this.setIconImage(icon);
            add(label,BorderLayout.CENTER);
            setVisible(true);
        }


    }
4

3 に答える 3

5

TimeFrameアイコンがJavaファイルの横にある場合は、次を使用する必要があります

java.net.URL imgUrl = getClass().getResource("me.jpg");
ImageIcon icon = new ImageIcon(imgUrl);

また

java.net.URL imgUrl = TimeFrame.class.getResource("me.jpg");
ImageIcon icon = new ImageIcon(imgUrl);

あなたは(おそらく)現在あなたが経由して出力できるあなたの作業ディレクトリでそれを探しています

System.out.println(System.getProperty("user.dir"));
于 2012-10-22T13:10:39.210 に答える
4

これを試してみませんか?

 ImageIcon ImageIcon = new ImageIcon("me.jpg");
    Image Image = ImageIcon.getImage();
    this.setIconImage(Image);
于 2012-10-22T13:13:38.763 に答える
2

ディレクトリを「src/me.jpg」に変更するだけです

于 2016-01-20T13:58:10.047 に答える