很明显,你只要看这个出错信息,你应该就能知道如何来修改你的index和text这两个变量了。
你只需要将其声明为final类型就可以了,因为你在setStatusAt方法中使用了一个本地匿名内部类,而本地匿名内部类只可以访问方法中final类型的变量,除此之外也还可以访问封装类中的所有方法和变量。
就这么简单!!!
你只需要将其声明为final类型就可以了,因为你在setStatusAt方法中使用了一个本地匿名内部类,而本地匿名内部类只可以访问方法中final类型的变量,除此之外也还可以访问封装类中的所有方法和变量。
就这么简单!!!
SwingUtilities.invokeLater(text. new Runnable() { public void run()
{
temp();
}});private void temp() {
((JLabel)labelVector.get(index)).setText(text);}
text. new Runnable是什么?我在书里讲线程的时候没有见过这样用的???
但是看过一些实例程序有这样用,看不懂,能详细解释一下吗???
public void setStatusAt(int index, String text)
{
SwingUtilities.invokeLater(text. new Runnable() { public void run()
{
((JLabel)labelVector.get(index)).setText(text);
} });
}
这时则报错:
package and class have same name:java lang.String at line 27,column46
class Runnable not found in class java.lang.String at line27,column 46
如何解决呀?????
{
SwingUtilities.invokeLater(new Runnable() {//去掉text. public void run()
{
((JLabel)labelVector.get(index)).setText(text);
} });
}