何が間違っているのか本当にわかりません。私は州のゲームを作っているので、人々の勉強を助けることができますが、実行すると動作しますが、画面に画像が返されません。これは、配列がある主要なコードです...
public void checkCorrectValue(String guess){
if(guess.equalsIgnoreCase(current_state)){
correct_value = true;
}else{
correct_value = false;
}
}
public void setRandomState(){
r = new Random();
int i;
i = r.nextInt(50);
System.out.println(i);
current_state = states[i];
System.out.println(current_state + " was randomly selected");
}
public String getCurrentState(){
return current_state;
}
public boolean isStateCorrect(){
return correct_value;
}
states という配列を追加し、すべての状態で埋めました。正しい状態を正常に出力するので、これが機能することがわかります。そして、これは私のパネルコードです...
States_Images us_img;
USA_States us_state;
public Menu(){
setLayout(null);
setBackground(Color.WHITE);
us_img = new States_Images();
us_state = new USA_States();
us_state.setRandomState();
System.out.println(us_state.getCurrentState());
JLabel l = new JLabel();
l.setIcon(us_img.getCurrentStateImage());
l.setBounds(0,0,500,500);
add(l);
}
パネルの設定を行い、最初にランダムな状態を設定する setRandomState() を呼び出して画像を出力しようとするだけで、そこに正しく出力されます。しかし、us_img.getCurrentStateImage() が実行されると...
private ImageIcon currentstate_image;
private String current_state;
USA_States us_states;
public States_Images(){
us_states = new USA_States();
}
public ImageIcon getCurrentStateImage(){
setStateName();
currentstate_image = new ImageIcon("graphics\\" + current_state + ".png");
System.out.println(current_state + " image loaded");
return currentstate_image;
}
private void setStateName(){
current_state = us_states.getCurrentState();
}
「ヌル画像がロードされました」と出力されます。その後、私のフレームには何も表示されません。私は以前にこのようなことをしたことがあるので、何が間違っているのか本当にわかりません。私はこれが基本的なJavaであることを知っているので、どんな助けも本当に感謝します!!! 前もって感謝します。