我真的不知道我做错了什么。我正在制作一个状态游戏,所以我可以帮助人们学习,但是当我运行它时它可以工作,但它不会将图像返回到屏幕上。这是我有我的数组的主要代码位......
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,所以任何帮助都会得到帮助!!!提前致谢。