Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Help Programma che salva su file le coordinate del mouse
Forum - Java - Help Programma che salva su file le coordinate del mouse

Avatar
fabiosaitta (Normal User)
Newbie


Messaggi: 2
Iscritto: 17/05/2010

Segnala al moderatore
Postato alle 16:18
Lunedì, 17/05/2010
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 ;)

PM Quote
Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 6:41
Martedì, 18/05/2010
Testo quotato


// 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

PM Quote
Avatar
fabiosaitta (Normal User)
Newbie


Messaggi: 2
Iscritto: 17/05/2010

Segnala al moderatore
Postato alle 8:27
Martedì, 18/05/2010
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:

PM Quote