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();
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();
}
}这个方法里面内容看不懂
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);
}
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();
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();
}
}这个方法里面内容看不懂
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);
}
解决方案 »
- 关于Myeclips8.0last里面打开JSP文件引号内字体如何设置?
- 过时的API问题
- 请问一下sleep 不释放锁,这说明和它共用同一个锁的线程不能执行,但其他不用这个锁的线程可以执行吗
- 谁知道如何在java里获取对本机操作系统的安装路径?
- 我分别试过getString(),getInt(),getLong(),都不行,getObject()取出来的东西,直接输入是:null。用getBytes()取出来长度为15,少一位
- java
- 入门问题:JButton 对象不能addFocusListener,应该怎么处理
- 初学java看什么书好
- 高分请教:如何在Jbuilder6中运行jar?急!!!
- 大家分析一下ChinaRen在线游戏系统的开发
- 一个关于import的问题
- 内部类访问控制问题
while(i.hasNext())
完全不懂什么意思,有什么用
对集合进行迭代
当集合中还有可以迭代的元素的时候,hasNext方法会返回true
这里你可以理解成
一个循环,依次在points中的点的坐标上画圈圈
Iterator 是一个迭代的借口, iterator()是Collection接口实现的一个方法, 这里使用Iterator的对象i 来获取ArrayList对象 points的迭代结果。while(i.hasNext())
hasNext()方法是Iterator的方法,用来判断i当中是否还有元素可以迭代,如果有,则返回 true,否则返回false.