标题:希望高手指点一下
只看楼主
qingfeng101
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-11-27
 问题点数:0 回复次数:3 
希望高手指点一下
创建java文件
import.awt.*
public class FrameDemo
{
  static Frame frame;
  static Label label001 = new Label("标签");
  public FrameDemo()
  {
    frame = new Frame("java的第一个窗口");
    frame.setSize(500,500);
    frame.setVisible(true);
  }
  public static void main(String args[])
  {
    FrameDemo fobj = new FrameDemo();
    frame.add(label001,"North");
  }
}
可以运行,但为什么把内容改为
import java.awt.*;
public class FrameDemo
{
  static Frame frame;
  static Label label001 = new Label();
  label001.setText("标签");
  public FrameDemo()
  {
    frame = new Frame("java的第一个窗口");
    frame.setSize(500,500);
    frame.setVisible(true);
  }
  public static void main(String args[])
  {
    FrameDemo fobj = new FrameDemo();
    frame.add(label001,"North");
  }
}
运行后它提示label001.setText("标签")出错
搜索更多相关主题的帖子: frame java 
2008-12-04 18:56
世纪魔面
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2007-9-9
得分:0 
label001.setText("标签")是调用方法。对方法的调用要在另一个方法体内。你的这行语句写在了类中,而类中除了类属性的定义(包括赋初值)和类方法外,不能有调用其它方法的语句,所以是错误的,把它放到某个方法中就可以执行了。
你在第一个例子中,是在定义Label的时候直接给其赋初值的,这当然是允许的,但是在第二个例子中,并不是在定义的时候直接给其赋初值的。

[[it] 本帖最后由 世纪魔面 于 2008-12-4 20:10 编辑 [/it]]

自己选择的路,就是跪着也要把它走下去。哪怕死在半路也是值得的!
2008-12-04 20:07
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
因为 static Label label001

倚天照海花无数,流水高山心自知。
2008-12-04 20:40
qingfeng101
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-11-27
得分:0 
谢谢呐
2008-12-06 15:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-247799-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.688806 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved