方法一、
public void Judgmentac()
{
if(Nplayscore>21)
{
javax.swing.JOptionPane.showMessageDialog(null,"你输了,再接再厉吧!","提 示",javax.swing.JOptionPane.WARNING_MESSAGE ); new run().Judge();
}
}
方法二、
public void Judge()
{
pic=1; // (1)
pic1.setIcon(new javax.swing.ImageIcon()); // (2)
} 运行程序,我点击按钮然后调用方法一,再通过方法一调用方法二,为什么方法二中的(1)执行了,而(2)没有执行(或者说没有把原来的是显示图片的重置为空!).
在线等啊!很急,知道的兄弟、姐妹、大哥大姐们告诉我怎么解决啊!!!!!
public void Judgmentac()
{
if(Nplayscore>21)
{
javax.swing.JOptionPane.showMessageDialog(null,"你输了,再接再厉吧!","提 示",javax.swing.JOptionPane.WARNING_MESSAGE ); new run().Judge();
}
}
方法二、
public void Judge()
{
pic=1; // (1)
pic1.setIcon(new javax.swing.ImageIcon()); // (2)
} 运行程序,我点击按钮然后调用方法一,再通过方法一调用方法二,为什么方法二中的(1)执行了,而(2)没有执行(或者说没有把原来的是显示图片的重置为空!).
在线等啊!很急,知道的兄弟、姐妹、大哥大姐们告诉我怎么解决啊!!!!!
我用的是netbeans编辑的。
我把 pic1.setIcon(new javax.swing.ImageIcon()); 放在事件里面就能执行,放在方法里面就不触发了。目的是把原来的图片清空处理。
(1)将界面更新语句编发到线程中
Runnable setIcon=new Runnable(){
public void run(){
pic1.setIcon(new javax.swing.ImageIcon());
}
};
(2)将更新语句派发到事件线程
try{
SwingUtilities.invokeLater(setIcon);
}catch(Exception ex){}
详细解释可以参照:http://www.blogjava.net/Swing/archive/2007/07/10/129338.html