|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2002
Messaggi: 2518
|
[Java] Classe per tracciare punti
Salve,
come ormai è risaputo sto affrontando un algoritmo di navigazione, forse ho finalmente affinato la funzione per ricreare la rotta e mi servirebbe qualche libreria (magari anche qualche esempietto ![]() Stavo pensando a qualcosa di molto semplice, io ho langitudine e latitudine sotto forma di float arrotondati alla seconda cifra decimale e pensavo semplicemente a qualcosa in grado di tracciare un insieme di punti. Se poi come sfondo per questi punti potessi dargli tipo un immagine di sfondo (la cartina) sarebbe perfetto. Avete qualcosa da suggerire? Vi ringrazio in anticipo, guylmaster. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Le librerie sono incluse nella piattaforma standard. Adesso sto scrivendo una roba in Scala per cui ti faccio l'esempio in Scala ma e API sono le stesse. Questo è un componente di un'interfaccia grafica che disegna tre quadratini in altrettanti punti:
Codice:
class Tracker extends javax.swing.JPanel { import java.awt.geom.{Rectangle2D, Point2D} import java.awt.{Color, Graphics, Graphics2D} val punti = List(new Point2D.Double(0,0), new Point2D.Double(35, 35), new Point2D.Double(122.4, 134.5)) val quadratino = new Rectangle2D.Double(0,0, 10, 10) override def paintComponent(g: Graphics) { super.paintComponent(g) var g2 = g.asInstanceOf[Graphics2D] g2.setPaint(Color.WHITE) g2.fillRect(0,0,getWidth(),getHeight()) punti.foreach{ p => g2.translate(p.x, p.y) g2.setPaint(Color.GREEN) g2.fill(quadratino) g2.setPaint(Color.BLACK) g2.draw(quadratino) g2.translate(-p.x, -p.y) } } } g2.drawImage(immagine, 0, 0, null); "immagine" può essere una BufferedImage, che carichi fuori dal paintComponent in un campo, usando javax.imageio.ImageIO: private BufferedImage immagine; ..nel costruttore immagine = ImageIO.read(un file o un url); Ficchi poi l'istanza di Tracker in un frame, tipo: Codice:
JFrame frame = new JFrame("Ciao"); frame.add(new Tracker()); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.setSize(400,400); frame.setVisible(true);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:24.