import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class MyMouseAdapter{
public static void main(String args[]) {
new MyFrame("drawing...");
}
}class MyFrame extends Frame {
ArrayList points = null;
MyFrame(String s) {
super(s);
points = new ArrayList();
etLayout(null);
setBounds(300,300,400,300);
this.setBackground(new Color(204,204,255));
setVisible(true);
this.addMouseListener(new Monitor());
}
public void paint(Graphics g) {
Iterator i = points.iterator();
while(i.hasNext()){
Point p = (Point)i.next();
g.setColor(Color.BLUE);
g.fillOval(p.x,p.y,10,10);
}
}
public void addPoint(Point p){
points.add(p);
}
}class Monitor extends MouseAdapter {
public void mousePressed(MouseEvent e) {
MyFrame f = (MyFrame)e.getSource();
f.addPoint(new Point(e.getX(),e.getY()));
f.repaint();
}
}
结果:
MyMouseAdapter.java:13: 找不到符号
符号: 构造函数 Frame(java.lang.String)
位置: 类 Frame
super(s);
^
MyMouseAdapter.java:15: 找不到符号
符号: 方法 etLayout(<nulltype>)
位置: 类 MyFrame
etLayout(null);
^
MyMouseAdapter.java:16: 找不到符号
符号: 方法 setBounds(int,int,int,int)
位置: 类 MyFrame
setBounds(300,300,400,300);
^
MyMouseAdapter.java:17: 找不到符号
符号: 方法 setBackground(java.awt.Color)
位置: 类 MyFrame
this.setBackground(new Color(204,204,255));
^
MyMouseAdapter.java:18: 找不到符号
符号: 方法 setVisible(boolean)
位置: 类 MyFrame
setVisible(true);
^
MyMouseAdapter.java:19: 找不到符号
符号: 方法 addMouseListener(Monitor)
位置: 类 MyFrame
this.addMouseListener(new Monitor());
^
MyMouseAdapter.java:40: 找不到符号
符号: 方法 repaint()
位置: 类 MyFrame
f.repaint();
^
注意:MyMouseAdapter.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
7 错误
import java.awt.event.*;
import java.util.*;
public class MyMouseAdapter{
public static void main(String args[]) {
new MyFrame("drawing...");
}
}class MyFrame extends Frame {
ArrayList points = null;
MyFrame(String s) {
super(s);
points = new ArrayList();
etLayout(null);
setBounds(300,300,400,300);
this.setBackground(new Color(204,204,255));
setVisible(true);
this.addMouseListener(new Monitor());
}
public void paint(Graphics g) {
Iterator i = points.iterator();
while(i.hasNext()){
Point p = (Point)i.next();
g.setColor(Color.BLUE);
g.fillOval(p.x,p.y,10,10);
}
}
public void addPoint(Point p){
points.add(p);
}
}class Monitor extends MouseAdapter {
public void mousePressed(MouseEvent e) {
MyFrame f = (MyFrame)e.getSource();
f.addPoint(new Point(e.getX(),e.getY()));
f.repaint();
}
}
结果:
MyMouseAdapter.java:13: 找不到符号
符号: 构造函数 Frame(java.lang.String)
位置: 类 Frame
super(s);
^
MyMouseAdapter.java:15: 找不到符号
符号: 方法 etLayout(<nulltype>)
位置: 类 MyFrame
etLayout(null);
^
MyMouseAdapter.java:16: 找不到符号
符号: 方法 setBounds(int,int,int,int)
位置: 类 MyFrame
setBounds(300,300,400,300);
^
MyMouseAdapter.java:17: 找不到符号
符号: 方法 setBackground(java.awt.Color)
位置: 类 MyFrame
this.setBackground(new Color(204,204,255));
^
MyMouseAdapter.java:18: 找不到符号
符号: 方法 setVisible(boolean)
位置: 类 MyFrame
setVisible(true);
^
MyMouseAdapter.java:19: 找不到符号
符号: 方法 addMouseListener(Monitor)
位置: 类 MyFrame
this.addMouseListener(new Monitor());
^
MyMouseAdapter.java:40: 找不到符号
符号: 方法 repaint()
位置: 类 MyFrame
f.repaint();
^
注意:MyMouseAdapter.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
7 错误
好像少了个s
但是我编译的时候没有这么多错误,真邪门……
class_path
.;C:\Program Files\Java\jdk1.6.0_10\lib\tools.jar;C:\Program Files\Java\jdk1.6.0_10\lib\dt.jar
path
C:\Program Files\Java\jdk1.6.0_10\bin
Java_home
C:\Program Files\Java\jdk1.6.0_10
编译时用javac -Xlint:unchecked MyMouseAdapter.java
32行 points.add(p) 成员add(E)的调用未经检查
修改11行为 ArrayList<Point> points = null;
14行为 points = new ArrayList<Point>();
就OK了
看到那么多人还没有帮你解决问题,我就帮一下吧。
代码改了一个地方。
先看代码 如下/**
*
*/
import java.awt.*;
import java.awt.event.*;
import java.util.*;
/**
* @author WenLiang
*/
public class MyMouseAdapter{
public static void main(String args[]) {
new MyFrame("drawing...");
}
} class MyFrame extends Frame {
ArrayList points = null;
MyFrame(String s) {
super(s);
points = new ArrayList();
setLayout(null);
setBounds(300,300,400,300);
this.setBackground(new Color(204,204,255));
setVisible(true);
this.addMouseListener(new Monitor());
} public void paint(Graphics g) {
Iterator i = points.iterator();
while(i.hasNext()){
Point p = (Point)i.next();
g.setColor(Color.BLUE);
g.fillOval(p.x,p.y,10,10);
}
}
public void addPoint(Point p){
points.add(p);
}
} class Monitor extends MouseAdapter {
public void mousePressed(MouseEvent e) {
MyFrame f = (MyFrame)e.getSource();
f.addPoint(new Point(e.getX(),e.getY()));
f.repaint();
}
}
红色标记的地方是我改的。
运行结果就是一个口 (color=#CC99FF)这种颜色的窗口。运行环境
myeclipse 7.5可以结帖散分了。
运行--->cmd---->d:--->javac MyMouseAdapter.java出现提示:
D:\>javac MyMouseAdapter.java
注意:MyMouseAdapter.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。但是没有妨碍
再输入命令
java MyMouseAdapter运行结果 为一个color=#CC99FF 颜色的窗口。
注:同样修改了 setLayout(null); 这里。
问题解决。
我用的是最新的jdk
D:\>java -version
java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)
至于你出现这么多错误那应该是环境变量设置的问题,或者升级你的jdk
2.cmd--->E:\Program Files\Java\jdk1.6.0\bin>
3.cmd--->E:\Program Files\Java\jdk1.6.0\bin>javac MyMouseAdapter.java
4.cmd--->E:\Program Files\Java\jdk1.6.0\bin>java MyMouseAdapter就OK了
ArrayList<Point> points=null;
points=new ArrayList<Point>();
Iterator<Point> i=points.iterator();