56 lines
1.6 KiB
Java
56 lines
1.6 KiB
Java
import java.awt.*;
|
|
import javax.swing.*;
|
|
import java.awt.event.*;
|
|
import java.util.*;
|
|
import java.io.*;
|
|
|
|
public class GeneratePoints extends JFrame {
|
|
protected Vector points;
|
|
protected String fileName;
|
|
|
|
public GeneratePoints(String fn) {
|
|
super("Point Generator - use mouse!");
|
|
points = new Vector();
|
|
fileName = fn;
|
|
getContentPane().setBackground(Color.black);
|
|
addWindowListener(new GenerateWindowListener());
|
|
addMouseListener(new PointMouseListener());
|
|
setSize(510, 510);
|
|
show();
|
|
}
|
|
|
|
protected class GenerateWindowListener extends WindowAdapter {
|
|
public void windowClosing(WindowEvent e) {
|
|
try {
|
|
PrintWriter pw = new PrintWriter(new FileWriter(fileName));
|
|
for (int i = 0; i < points.size(); i++) {
|
|
Point pt = (Point) points.elementAt(i);
|
|
pw.println((int) pt.getX() + " " + (500 - (int) pt.getY()) );
|
|
}
|
|
pw.close();
|
|
}
|
|
catch (IOException ioe) {
|
|
System.out.println("IO problem");
|
|
}
|
|
System.exit(0);
|
|
}
|
|
}
|
|
|
|
protected class PointMouseListener extends MouseAdapter {
|
|
public void mouseReleased(MouseEvent e) {
|
|
points.add(new Point(e.getX(), e.getY()));
|
|
Graphics page = GeneratePoints.this.getGraphics();
|
|
page.setColor(Color.red);
|
|
page.fillOval(e.getX(), e.getY(), 3, 3);
|
|
}
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
GeneratePoints gui;
|
|
if (args.length > 0)
|
|
gui = new GeneratePoints(args[0]);
|
|
else
|
|
System.out.println("Usage: GeneratePoints filename");
|
|
}
|
|
}
|