注册 登录
编程论坛 JAVA论坛

这段程序为什么无法运行?

hhl0006 发布于 2016-05-22 09:51, 3002 次点击
import java.awt.*;
import java.applet.*;
public class JuneGrid extends Applet
{
  public void init()
  {
    setLayout(new BorderLayout());
    Panel header=new Panel();
    header.add(new Label("2000年六月"));
    add("North",header);
    Panel body=new Panel();
    body.setLayout(new GridLayout(6,7));
    String days=new String("星期天星期一星期二星期三星期四星期五星期六");
    for(int i=0;i<14;i+=2)
    {
      body.add(new Label(days.substring(i,i+3)));
    }
    for(int i=0;i<4;i++)
    {
      body.add(new Label());
    }
    for(int i=1;i<=30;i++)
    {
      body.add(new Button(new Integer(i).toString()));
    }
    add("center",body);
  }
}
8 回复
#2
hhl00062016-05-22 09:54
运行结果如下:
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\admin>d:

D:\>cd JavaTest2

D:\JavaTest2>appletviewer applettest.html
java.lang.IllegalArgumentException: cannot add to layout: unknown constraint: ce
nter
        at java.awt.BorderLayout.addLayoutComponent(BorderLayout.java:463)
        at java.awt.BorderLayout.addLayoutComponent(BorderLayout.java:424)
        at java.awt.Container.addImpl(Container.java:1125)
        at java.awt.Container.add(Container.java:436)
        at JuneGrid.init(JuneGrid.java:26)
        at sun.applet.AppletPanel.run(AppletPanel.java:434)
        at java.lang.Thread.run(Thread.java:745)
#3
hhl00062016-05-24 11:04
import java.awt.*;
import java.applet.*;
public class JuneGrid extends Applet
{
  public void init()
  {
    setLayout(new BorderLayout());
    Panel header=new Panel();
    header.add(new Label("2000年六月"));
    add("North",header);
    Panel body=new Panel();
    body.setLayout(new GridLayout(6,7));
    String days=new String("星期天星期一星期二星期三星期四星期五星期六");
    for(int i=0;i<14;i+=2)
    {
      body.add(new Label(days.substring(i,i+3)));
    }
    for(int i=0;i<4;i++)
    {
      body.add(new Label());
    }
    for(int i=1;i<=30;i++)
    {
      body.add(new Button(new Integer(i).toString()));
    }
    add("Center",body);
  }
}
#4
hhl00062016-05-24 11:09
运行后星期不符规范,应该怎么改正?JAVA数组中的汉字应该怎么算?
#5
hhl00062016-05-24 11:13
body.add(new Label(days.substring(i,i+3)));哪里错了?改为i+2后,输入SUMODUWEFISA却没错。
#6
hhl00062016-05-24 14:06
谢谢,已解决。
import java.awt.*;
import java.applet.*;
public class JuneGrid extends Applet
{
  public void init()
  {
    setLayout(new BorderLayout());
    Panel header=new Panel();
    header.add(new Label("2000年六月"));
    add("North",header);
    Panel body=new Panel();
    body.setLayout(new GridLayout(6,7));
    String days=new String("星期天星期一星期二星期三星期四星期五星期六");
    for(int i=0;i<19;i+=3)
    {
      body.add(new Label(days.substring(i,i+3)));
    }
    for(int i=0;i<4;i++)
    {
      body.add(new Label());
    }
    for(int i=1;i<=30;i++)
    {
      body.add(new Button(new Integer(i).toString()));
    }
    add("Center",body);
  }
}
#7
dkplus2016-05-24 19:30
(⊙o⊙)…
#8
zzjvslove2016-05-24 23:39
高手啊!我没有看明白什么意思呢!
#9
G66252016-08-09 20:00
add("center",body);Center首字母应该大写
1