我的Java小程序在编译时出现问题,请指教(本人初学者)
源文件如下:importjava.awt.*;importjava.awt.event.*;publicclassTestCardLayoutimplementsActi...
源文件如下:
import java.awt.*;
import java.awt.event.*;
public class TestCardLayout implements ActionListener {
private Panel p1,p2,p3;
private Button b1,b2,b3;
private Frame f;
private CardLayout Clayout=new CardLayout();
public void create() {
b1=new Button("第一个");
b2=new Button("第二个");
b3=new Button("第三个");
p1=new Panel();
p2=new Panel();
p3=new Panel();
f=new Frame("Test CardLayout");
p1.add(b1);
b1.addActionListener(this);
p2.add(b2);
b2.addActionListener(this);
p3.add(b3);
b3.addActionListener(this);
f.setLayout(CLayout);
f.add(p1,"第一层");
f.add(p2,"第二层");
f.add(p3,"第三层");
f.setSize(200,100);
f.setVisible(true);
}
public static void main(String args[]) {
TestCardLayout tc=new TestCardLayout();
tc.create();
}
public void actionPerformed(ActionEvent e) {
CLayout.next(f);
}
}
编译时出现如下错误:
TestCardLayout.java:22: 找不到符号
符号: 变量 CLayout
位置: 类 TestCardLayout
f.setLayout(CLayout);
^
TestCardLayout.java:34: 找不到符号
符号: 变量 CLayout
位置: 类 TestCardLayout
CLayout.next(f);
^
2 错误
我觉得程序没错啊。。请指教!多谢各位前辈! 展开
import java.awt.*;
import java.awt.event.*;
public class TestCardLayout implements ActionListener {
private Panel p1,p2,p3;
private Button b1,b2,b3;
private Frame f;
private CardLayout Clayout=new CardLayout();
public void create() {
b1=new Button("第一个");
b2=new Button("第二个");
b3=new Button("第三个");
p1=new Panel();
p2=new Panel();
p3=new Panel();
f=new Frame("Test CardLayout");
p1.add(b1);
b1.addActionListener(this);
p2.add(b2);
b2.addActionListener(this);
p3.add(b3);
b3.addActionListener(this);
f.setLayout(CLayout);
f.add(p1,"第一层");
f.add(p2,"第二层");
f.add(p3,"第三层");
f.setSize(200,100);
f.setVisible(true);
}
public static void main(String args[]) {
TestCardLayout tc=new TestCardLayout();
tc.create();
}
public void actionPerformed(ActionEvent e) {
CLayout.next(f);
}
}
编译时出现如下错误:
TestCardLayout.java:22: 找不到符号
符号: 变量 CLayout
位置: 类 TestCardLayout
f.setLayout(CLayout);
^
TestCardLayout.java:34: 找不到符号
符号: 变量 CLayout
位置: 类 TestCardLayout
CLayout.next(f);
^
2 错误
我觉得程序没错啊。。请指教!多谢各位前辈! 展开
7个回答
展开全部
//代码我帮你改好了,拷过去就可以用了,记得区分大小写,JAVA是有这个限制的!!
import java.awt.*;
import java.awt.event.*;
public class TestCardLayout implements ActionListener {
private Panel p1,p2,p3;
private Button b1,b2,b3;
private Frame f;
private CardLayout Clayout=new CardLayout();
public void create() {
b1=new Button("第一个");
b2=new Button("第二个");
b3=new Button("第三个");
p1=new Panel();
p2=new Panel();
p3=new Panel();
f=new Frame("Test CardLayout");
p1.add(b1);
b1.addActionListener(this);
p2.add(b2);
b2.addActionListener(this);
p3.add(b3);
b3.addActionListener(this);
f.setLayout(Clayout);
f.add(p1,"第一层");
f.add(p2,"第二层");
f.add(p3,"第三层");
f.setSize(200,100);
f.setVisible(true);
}
public static void main(String args[]) {
TestCardLayout tc=new TestCardLayout();
tc.create();
}
public void actionPerformed(ActionEvent e) {
Clayout.next(f);
}
}
import java.awt.*;
import java.awt.event.*;
public class TestCardLayout implements ActionListener {
private Panel p1,p2,p3;
private Button b1,b2,b3;
private Frame f;
private CardLayout Clayout=new CardLayout();
public void create() {
b1=new Button("第一个");
b2=new Button("第二个");
b3=new Button("第三个");
p1=new Panel();
p2=new Panel();
p3=new Panel();
f=new Frame("Test CardLayout");
p1.add(b1);
b1.addActionListener(this);
p2.add(b2);
b2.addActionListener(this);
p3.add(b3);
b3.addActionListener(this);
f.setLayout(Clayout);
f.add(p1,"第一层");
f.add(p2,"第二层");
f.add(p3,"第三层");
f.setSize(200,100);
f.setVisible(true);
}
public static void main(String args[]) {
TestCardLayout tc=new TestCardLayout();
tc.create();
}
public void actionPerformed(ActionEvent e) {
Clayout.next(f);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
f.setLayout(CLayout);->CLayout要改为Clayout(private CardLayout Clayout=new CardLayout() 要和这里的变量名完全一致,毕竟java是大小写敏感的)
CLayout.next(f);—>CLayout要改为Clayout,理由同上
CLayout.next(f);—>CLayout要改为Clayout,理由同上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
f.setLayout(CLayout);
和
CLayout.next(f);
写错了
不是CLayout而是Clayout 注意l大小写,因为你定义的是
private CardLayout Clayout=new CardLayout();
小写的l
和
CLayout.next(f);
写错了
不是CLayout而是Clayout 注意l大小写,因为你定义的是
private CardLayout Clayout=new CardLayout();
小写的l
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CLayout 你的这个L写成大写的了, 你声明的时候是小写的
一概是
Clayout java是区分大小写的
一概是
Clayout java是区分大小写的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你定义的是Clayout下面你用CLayout当然不行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询