Jump to content
Nokioteca Forum

[J2Me]Problema Con Un Programma Semplice Tipo Paint


Guest
 Share

Recommended Posts

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class Disegna extends MIDlet {

   public void startApp() {
       Display display = Display.getDisplay(this);
       display.setCurrent(new Linea());
   } // startApp

   public void pauseApp() {
   } // pauseApp

   public void destroyApp(boolean unconditional) {
   } // destroyApp

   protected class Linea extends Canvas {
       private int xAtt, yAtt, xPrec, yPrec;
       private boolean primoTouch = true;

       public Linea() {
           setFullScreenMode(true);
       } // Linea

       public void pointerReleased (int x, int y) {
           primoTouch = true;
       } // pointReleased

       public void pointerDragged (int x, int y) {
           if(primoTouch) {
               xAtt = x;
               yAtt = y;
               primoTouch = false;
           } // if
           xPrec = xAtt;
           yPrec = yAtt;
           xAtt = x;
           yAtt = y;
           repaint();
       } // pointDragged

       public void paint (Graphics g) {
           g.drawLine(xPrec, yPrec, xAtt, yAtt);
       } // paint
   } // Linea
} // Disegna

Il problema è che finchè lo provo sull'emulatore funziona, ma sul telefono disegna le linee tutte tratteggiate, come su il repaint() non riuscisse a star dietro al movimento del dito.. Cosa posso fare?

Modificato da Guest
Link to comment
Condividi su altri siti

Credo che potresti risolvere cosi'...

nel pointerDragged() disegni le varie linee su un oggetto Image senza richiamare il repaint()

nel paint() disegni l'oggetto Image su schermo

aggiungi un timer che, di tanto in tanto, richiama il repaint() del canvas

Modificato da Il.Socio
Link to comment
Condividi su altri siti

Alla fine ho risolto mantenendo in memoria i punti in un array e disegnando tutte le linee tra un punto e il successivo ogni volta.. non so perchè ma nel telefono se ne perdevano alcune per strada!

Modificato da Guest
Link to comment
Condividi su altri siti

Please sign in to comment

You will be able to leave a comment after signing in



Accedi Ora
 Share

×
×
  • Crea Nuovo...

Informazione Importante

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy