Oppure

Loading
17/05/10 14:18
fabiosaitta
Ciao a tutti,
devo migliorare un programma di disegno Java.
In pratica il programma esistente disegna direttamente sullo schermo il movimento del mouse(quando il tasto destro è premuto), ciò che vorrei aggiungere è la possibilità di salvare in un file di testo, le coordinate X e Y della linea tracciata, ecco il programma:

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Painter extends JComponent {
// contiene un Vector per ogni poly line
private Vector polyLineList = new Vector();
// Costruttore della classe principale
public Painter() {
super();
MouseInputListener m = new MyMouseInputListener();
addMouseListener(m);
addMouseMotionListener(m);
}
public void paintComponent(Graphics g) {
// disegna ogni poly line
Iterator polyLineIterator = polyLineList.iterator();
while(polyLineIterator.hasNext()) {
Vector polyLine = (Vector)polyLineIterator.next();
Iterator pointIterator = polyLine.iterator();
// disegna ogni linea della poly line
Point oldPoint = (Point)pointIterator.next();
while(pointIterator.hasNext()) {
Point newPoint = (Point)pointIterator.next();
g.drawLine(oldPoint.x,oldPoint.y,newPoint.x,newPoint.y);
oldPoint = newPoint;
}

}
}
class MyMouseInputListener extends MouseInputAdapter {
// pulsante premuto
public void mousePressed(MouseEvent e) {
// crea una nuova poly line e la inserisce nella lista
Vector polyLine = new Vector();
polyLine.add(new Point(e.getX(),e.getY()));
polyLineList.add(polyLine);
}
public void mouseDragged(MouseEvent e) {
// aggiunge un punto alla poly line
Vector polyLine = (Vector)polyLineList.lastElement();
polyLine.add(e.getPoint());
repaint();
}
}
public static void main(String argv[]) {
Painter p = new Painter();
JFrame f = new JFrame("Painter";);
f.getContentPane().add(p);
f.setSize(600,400);
f.setVisible(true);
}
}

Grazie mille in anticipo ;)
aaa
18/05/10 4:41
tasx
// contiene un Vector per ogni poly line
private Vector polyLineList = new Vector();


ciao!!

serializza su di un file il Vector...

così ti rimane in memoria su disco.

ciaociao
aaa
18/05/10 6:27
fabiosaitta
Grazie mille, ho risolto il problema.
Il massimo ora sarebbe poter conoscere e modificare la frequenza di campionamento della rilevazione delle coordinate del mouse...un giorno ci riuscirò :heehee:
aaa