This repository has been archived on 2020-05-27. You can view files and clone it, but cannot push or open issues/pull-requests.
convexhull/GeneratePoints.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");
}
}