public void addBackImageListener(final MapPage map){
backImg = new ImageIcon("./res/map01").getImage();
map.getImagesComboBox().addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED)
backImg = new ImageIcon("./res/map0" + Integer.toString(map.getImagesComboBox().getSelectedIndex()+1) + ".jpg" ).getImage();
}
}
);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(backImg,0,0,MainFrame.getScreenWidth(),MainFrame.getScreenHeight(),0,0,1024,768, null, null);
} 我有9张MAP 名字分别是MAP01和MAP09
然后我有一个JCOMBOBOX
用户选择哪一个就显示哪一张图片
一开始默认是MAP01
然后用户如果选择其他的MAP就覆盖
然后在主程序类里调用它 gamePage.addBackImageListener(mapPage);这样的话运行出来有点问题。
如果用户选择MAP02~MAP09 都是正确的
但是如果用户不选 就是默认的MAP01的情况 但是MAP01这张图片却没显示出来
但是如果用户先选了其他图片,再选MAP01 MAP01就会显示出来请高手赐教
backImg = new ImageIcon("./res/map01").getImage();
map.getImagesComboBox().addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED)
backImg = new ImageIcon("./res/map0" + Integer.toString(map.getImagesComboBox().getSelectedIndex()+1) + ".jpg" ).getImage();
}
}
);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(backImg,0,0,MainFrame.getScreenWidth(),MainFrame.getScreenHeight(),0,0,1024,768, null, null);
} 我有9张MAP 名字分别是MAP01和MAP09
然后我有一个JCOMBOBOX
用户选择哪一个就显示哪一张图片
一开始默认是MAP01
然后用户如果选择其他的MAP就覆盖
然后在主程序类里调用它 gamePage.addBackImageListener(mapPage);这样的话运行出来有点问题。
如果用户选择MAP02~MAP09 都是正确的
但是如果用户不选 就是默认的MAP01的情况 但是MAP01这张图片却没显示出来
但是如果用户先选了其他图片,再选MAP01 MAP01就会显示出来请高手赐教
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货