import java.awt.*;public class Test_2
{
public static void main(String args[])
{
fframe ff = new fframe("go on!!",400,400,400,400);
}
}
class fframe extends Frame
{
private Panel p1,p11,p2,p22;
fframe(String s,int x,int y,int w,int h)
{
super(s);

setBounds(x,y,w,h);
setLayout(new GridLayout(2,1));

 p1 = new Panel(new BorderLayout());
 p11 = new Panel(new GridLayout(2,1));
p11.add(new Button("Button"));
p11.add(new Button("Button"));
p1.add(new Button("Button"),BorderLayout.WEST);
p1.add(new Button("Button"),BorderLayout.EAST);
p1.add(p11,BorderLayout.CENTER);

 p2 = new Panel(new BorderLayout());
 p22 = new Panel(new GridLayout(2,2));
p22.add(new Button("Button"));
p22.add(new Button("Button"));
p22.add(new Button("Button"));
p22.add(new Button("Button"));
p2.add(new Button("Button"),BorderLayout.WEST);
p2.add(new Button("Button"),BorderLayout.EAST);
p2.add(p22,BorderLayout.CENTER);


add(p1);
add(p2);
setVisible(true);
}
}
象上面这样写程序可以正常运行
可是如果把private Panel p1,p11,p2,p22;放到构造函数中为什么就会出现(非法表达式的开始)的错误提示呢?象这样     class fframe extends Frame
{
fframe(String s,int x,int y,int w,int h)
{
super(s);
private Panel p1,p11,p2,p22; setBounds(x,y,w,h);
setLayout(new GridLayout(2,1));

 p1 = new Panel(new BorderLayout());
 p11 = new Panel(new GridLayout(2,1));
p11.add(new Button("Button"));
p11.add(new Button("Button"));
p1.add(new Button("Button"),BorderLayout.WEST);
p1.add(new Button("Button"),BorderLayout.EAST);
p1.add(p11,BorderLayout.CENTER);

 p2 = new Panel(new BorderLayout());
 p22 = new Panel(new GridLayout(2,2));
p22.add(new Button("Button"));
p22.add(new Button("Button"));
p22.add(new Button("Button"));
p22.add(new Button("Button"));
p2.add(new Button("Button"),BorderLayout.WEST);
p2.add(new Button("Button"),BorderLayout.EAST);
p2.add(p22,BorderLayout.CENTER);


add(p1);
add(p2);
setVisible(true);
}
}