编译以下awt窗口代码时,编译器报错:import java.awt.*;public class Frame
{
public static void main(String[] args)
{
Frame f = new Frame("Test");
f.setBounds(100, 100, 400, 300);
Button ok = new Button("OK");
ok.setBounds(20, 200, 60, 40);
f.add(ok);
f.setVisible(true);
}
}
4 errors found:
File: C:\Documents and Settings\Administrator\Desktop\Frame.java [line: 7]
Error: C:\Documents and Settings\Administrator\Desktop\Frame.java:7: cannot find symbol
symbol : constructor Frame(java.lang.String)
location: class Frame
File: C:\Documents and Settings\Administrator\Desktop\Frame.java [line: 8]
Error: C:\Documents and Settings\Administrator\Desktop\Frame.java:8: cannot find symbol
symbol : method setBounds(int,int,int,int)
location: class Frame
File: C:\Documents and Settings\Administrator\Desktop\Frame.java [line: 11]
Error: C:\Documents and Settings\Administrator\Desktop\Frame.java:11: cannot find symbol
symbol : method add(java.awt.Button)
location: class Frame
File: C:\Documents and Settings\Administrator\Desktop\Frame.java [line: 12]
Error: C:\Documents and Settings\Administrator\Desktop\Frame.java:12: cannot find symbol
symbol : method setVisible(boolean)
location: class Frame但是如果把对应的awt改成swing后,相同的代码编译运行正常!import javax.swing.*;public class JFrame
{
public static void main(String[] args)
{
JFrame f = new JFrame("Test");
f.setBounds(100, 100, 400, 300);
JButton ok = new JButton("OK");
ok.setBounds(20, 200, 60, 40);
f.add(ok);
f.setVisible(true);
}
}
为什么会有这种怪异现象呢!?
{
public static void main(String[] args)
{
Frame f = new Frame("Test");
f.setBounds(100, 100, 400, 300);
Button ok = new Button("OK");
ok.setBounds(20, 200, 60, 40);
f.add(ok);
f.setVisible(true);
}
}
4 errors found:
File: C:\Documents and Settings\Administrator\Desktop\Frame.java [line: 7]
Error: C:\Documents and Settings\Administrator\Desktop\Frame.java:7: cannot find symbol
symbol : constructor Frame(java.lang.String)
location: class Frame
File: C:\Documents and Settings\Administrator\Desktop\Frame.java [line: 8]
Error: C:\Documents and Settings\Administrator\Desktop\Frame.java:8: cannot find symbol
symbol : method setBounds(int,int,int,int)
location: class Frame
File: C:\Documents and Settings\Administrator\Desktop\Frame.java [line: 11]
Error: C:\Documents and Settings\Administrator\Desktop\Frame.java:11: cannot find symbol
symbol : method add(java.awt.Button)
location: class Frame
File: C:\Documents and Settings\Administrator\Desktop\Frame.java [line: 12]
Error: C:\Documents and Settings\Administrator\Desktop\Frame.java:12: cannot find symbol
symbol : method setVisible(boolean)
location: class Frame但是如果把对应的awt改成swing后,相同的代码编译运行正常!import javax.swing.*;public class JFrame
{
public static void main(String[] args)
{
JFrame f = new JFrame("Test");
f.setBounds(100, 100, 400, 300);
JButton ok = new JButton("OK");
ok.setBounds(20, 200, 60, 40);
f.add(ok);
f.setVisible(true);
}
}
为什么会有这种怪异现象呢!?
解决方案 »
- 如何实现JPanel按比例放大缩小,其内部的组件(如JButton等)的位置和大小也按比例放大缩小。
- 急!!急!!!!VTD-XML 解析XML是怎么回事?
- udp 抛出ava.lang.IllegalArgumentException异常
- 不是抽象的,并且未覆盖...的问题?
- 算法题
- InputStream 的read(byte[] d)方法读取内容出现重复读取,这是为什么?
- 怎么判断一个process是否结束
- 请问谁知道jrun server && studio 正式版的下载地址
- JBuilder快捷键大搜集,来者有分
- Compare with two strings:
- 打包成jar找不到.properties文件的问题
- [散分]Eclipse 常用技巧
因为你所定义的类名与你所引用的类名冲突,
可以这样修改
import java.awt.*;public class Frame
{
public static void main(String[] args)
{
java.awt.Frame f = new java.awt.Frame("Test");
f.setBounds(100, 100, 400, 300);
Button ok = new Button("OK");
ok.setBounds(20, 200, 60, 40);
f.add(ok);
f.setVisible(true);
}
}