3

私は日食を使用しており、GUI のラベルまたはロゴに画像を追加したいと考えています。

こんな感じにしたい!

http://imageshack.us/a/img593/4957/skeletancalcimage.png

10の評判がないので、ウェブにアップロードしました。

クールな番組名)はイメージです

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

    public class MainClass extends JFrame{ // super class JFrame

        // Kind of a tutorial for creating GUI's in java
        private JLabel label;
        private JLabel label1;
        private JButton button;
        private JTextField textfeild;
        private ImageIcon image1; // image for my logo

        public MainClass () {
            setLayout (new FlowLayout());

            image1 = new ImageIcon (getClass ().getResource ("logo.gif")); // declares image

            label = new JLabel ("This is the label");
            add (label);

            label1 = new JLabel (image1); // adds image
            add (label1);

            textfeild = new JTextField (15);
            add (textfeild);

            button = new JButton ("Click");
            add (button);

        }

        public static void main(String[] args) {        

            MainClass gui = new MainClass ();


            gui.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); // creates window
            gui.setSize (300,300);
            gui.setVisible (true);
            gui.pack ();
            gui.setTitle ("Title");

        }

    }

プログラムはコンパイルされますが、実行されません。私に与えます

Exception in thread "main" java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at JonsCalc.<init>(JonsCalc.java:18)
    at JonsCalc.main(JonsCalc.java:38)
4

4 に答える 4

1

このコードgetClass().getResource ("logo.gif")は、クラスと同じ場所から画像をロードする必要があることを意味しますMainClass。イメージが MainClass と同じパッケージにあることを確認してください。Eclipse を使用している場合は、イメージ ファイルをパッケージ内のsrcフォルダーに入れるよりも、自動的にコピーされbinます。

于 2012-12-23T23:50:42.643 に答える
1

画像/アイコン専用のパッケージを作成し、そこに「ImageLoader」などの名前の単一のローダー クラスを作成することをお勧めします。その後、このコードを使用できます...

new ImageLoader().getClass().getResource("NAME_OF_IMAGE"));
于 2012-12-24T01:47:57.907 に答える
0

クラスを右クリックして、新規に移動します。新しいソース フォルダをクリックします。最後に、そのフォルダーに画像を移動します。これで、そのコードを使用できます。

于 2013-06-09T04:15:20.100 に答える