这样属于访问Swing组件吗? 本帖最后由 lishen226 于 2009-10-25 20:45:23 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一种错误:mainUI未被实例化,只是一个空指针null,你不可以调用空指针的方法changeSomething.第三种也是这样;好像只有第二种对,因为该线程还没被执行启动,所以编译器没有检验到 mainUI.changeSomething();这个mainui是空指针,因为你可以在这个线程启动前对这个mainui进行实例化,我说的对不 哦,是我问的有问题,这里不考虑实例化的问题,假设已经实例化了,我只想知道这三种调用是不是属于“访问”了Swing组件 在Swing中,如果某个方法能够改变显示,该方法就应该在EDT中执行.你所说的那个例子,属于访问了Swing组件.再比方说:自定义Swing组件中有这么一个属性:int rgb=138,该属性代表了该组件的setBackground(new Color(rgb,rgb,rgb)),且该组件已经显示;而另一台主机需要该问这台机子的这个组件的该属性,访问该属性时,必须在EDT中。了解了吧? 嘿嘿,又麻烦你了!“在Swing中,如果某个方法能够改变显示,该方法就应该在EDT中执行.”这句话我能理解,但是我不知道如果某个方法并不改变显示,那它需不需要在EDT中执行,比如下面例子中的getStr()和setStr()方法:是不是说我调用了TheFrame的getStr()就属于“访问”了Swing组件,就需要在EDT中执行呢?public class TheFrame extends JFrame implements MainUI { String str = "";//此变量不对界面的显示产生任何影响 public String getStr() { return str; } public void setStr(String str) { this.str = str; }} java命令行参数问题 jdbc访问as400必须用数据库名加表名吗? 一行代码不知是什么意思 applet嵌入网页的问题 理行承诺,请hui_feng(盘桃2)来接分。 Object 类的native 如何使用draw方法画饼型图、扇形图、折线图??? 集思广益:java_sqlServer ,b/s、c/s有经验的朋友进 double类型的显示格式 为什么我的专家分没了 这段代码输出结果? 请大家帮个忙,我想把文件上传到另外服务器上
第三种也是这样;
好像只有第二种对,因为该线程还没被执行启动,所以编译器没有检验到 mainUI.changeSomething();
这个mainui是空指针,因为你可以在这个线程启动前对这个mainui进行实例化,我说的对不
我只想知道这三种调用是不是属于“访问”了Swing组件
你所说的那个例子,属于访问了Swing组件.再比方说:自定义Swing组件中有这么一个属性:int rgb=138,该属性代表了该组件的setBackground(new Color(rgb,rgb,rgb)),且该组件已经显示;而另一台主机需要该问这台机子的这个组件的该属性,访问该属性时,必须在EDT中。
了解了吧?
“在Swing中,如果某个方法能够改变显示,该方法就应该在EDT中执行.”这句话我能理解,但是我不知道如果某个方法并不改变显示,那它需不需要在EDT中执行,比如下面例子中的getStr()和setStr()方法:
是不是说我调用了TheFrame的getStr()就属于“访问”了Swing组件,就需要在EDT中执行呢?public class TheFrame extends JFrame implements MainUI {
String str = "";//此变量不对界面的显示产生任何影响
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
}