私は、ドロップダウンボックスのどの項目が選択されているかに応じて2つの画像を交互に表示する、本当に基本的なプログラムを作成しようとしています。これは実行しようとしているコードですが、次のようなエラーが表示され続けます。Javaコンボボックス+画像アイコン
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:181)
at Gui.<init>(Gui.java:10)
at Apples.main(Apples.java:7)
イメージはsrcファイルにあります。
誰かが私が間違っていることを知っていますか? おかげで、私は違うのgetResource(String)をメソッドの説明を入れて ラヴィン
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Gui extends JFrame{
private JComboBox box;
private JLabel picture;
private static String [] filename = {"Ravinsface.png", "Wojs face.png"};
private Icon[] pics = {new ImageIcon(getClass().getResource(filename[0])), new ImageIcon(getClass().getResource(filename[1]))};
public Gui(){
super("The Title");
setLayout(new FlowLayout());
box = new JComboBox(filename);
box.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event){
if(event.getStateChange()==ItemEvent.SELECTED);
picture.setIcon(pics[box.getSelectedIndex()]);
}
}
);
add(box);
picture = new JLabel(pics[1]);
add(picture);
}
}
私はスクリーンショットのファンですが、この場合は例外スタックトレースにpr画像内のすべてのビットの情報(1,241px×1,042pxと150Kb以上)を取得し、**ロット**バイトを減らしました。 –
チュートリアルに従ってくださいhttp://download.oracle.com/javase/tutorial/uiswing/components/icon.html – mKorbel