//small test
import java.awt.*;
class Test{
public static void main(String[] args){
new PaintFrame().launchFrame();
}
}
class PaintFrame extends Frame{
public void launchFrame(){
setBounds(200,200,640,480);
setVisible(true);
}
public void paint(Graphics g){
Color c=g.getColor();
g.setColor(Color.RED);
g.fillOval(50,50,30,30);
g.setColor(Color.GREEN);
g.fillRect(80,80,40,40);
g.setColor(c);
}
}
//draw test
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class Test{
public static void main(String[] args){
new MyFrame("Drawing...");
}
}
class MyFrame extends Frame{
ArrayList<Point> points=null;
Point curPoint=null;
int numPoint=0;
MyFrame(String s){
super(s);
points=new ArrayList<Point>();
setLayout(null);
setBounds(300,300,400,300);
this.setBackground(Color.GRAY);
setVisible(true);
this.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
System.out.println("curPointNumber is " + ++numPoint);
curPoint=new Point(e.getX(),e.getY());
points.add(curPoint);
repaint();
}
});
}
/*public void paint(Graphics g){
Color c=g.getColor();
g.setColor(Color.GREEN);
for(Iterator<Point>it=points.iterator();it.hasNext();){
Point p=it.next();
g.fillOval(p.x,p.y,10,10);
}
g.setColor(c);
}*/
public void paint(Graphics g){
Color c=g.getColor();
g.setColor(Color.GREEN);
ArrayList<Point> tempPoints=new ArrayList<Point>();
for(Iterator<Point>it=points.iterator();it.hasNext();){
Point p=it.next();
//g.fillOval(p.x,p.y,10,10);
g.drawLine(p.x,p.y,curPoint.x,curPoint.y);
tempPoints.add(p);
for(Iterator<Point> tempIt=tempPoints.iterator();tempIt.hasNext();){
Point tempP=tempIt.next();
g.drawLine(tempP.x,tempP.y,p.x,p.y);
}
}
g.setColor(c);
}
}
//窗口关闭事件
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class Test{
public static void main(String[] args){
new MyFrame("Drawing...");
}
}
class MyFrame extends Frame{
MyFrame(String s){
super(s);
setLayout(null);
setBounds(300,300,400,300);
this.setBackground(Color.GRAY);
setVisible(true);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
setVisible(false);
System.exit(0);
}
});
}
}
//动态改变Button的label
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class Test{
public static void main(String[] args){
new MyFrame("Drawing...");
}
}
class MyFrame extends Frame{
private int num=0;
MyFrame(String s){
super(s);
setBounds(300,300,400,300);
this.setBackground(Color.GRAY);
final Button b=new Button("NUM:"+num);
this.add(b,BorderLayout.WEST);
Button add=new Button("ADD");
add.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
b.setLabel("NUM:"+ ++num);
}
});
this.add(add,BorderLayout.CENTER);
setVisible(true);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
setVisible(false);
System.exit(0);
}
});
}
}