Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [j2me] guida Canvas

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    102

    [j2me] guida Canvas

    Sto studiando sulla guida di html.it
    Ho inserito questo codice, come c'è scritto.
    Ora se provo ad eseguire, mi da



    Unable to create MIDlet MyCanvas

    java.lang.InstantiationException: Class not a MIDlet

    at com.sun.midp.midlet.MIDletState.createMIDlet(MIDle tState.java:153)

    at com.sun.midp.midlet.Selector.run(Selector.java:151 )




    Non capisco dove sia l'errore... Ma non c'era bisogno di startApp() etc???





    import java.io.IOException;
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;

    public class MyCanvas extends Canvas {
    private Image image = null;
    private int width = 0;
    private int height = 0;
    private String lastKeyPressed = "Nessun tasto";

    public MyCanvas() {
    super();
    try {
    image = Image.createImage("/tramonto.PNG");
    setFullScreenMode(true);
    width = getWidth();
    height = getHeight();

    }
    catch (IOException e)
    {
    e.printStackTrace();
    }
    }

    protected void paint(Graphics g) {
    g.setColor(0, 0, 255);
    g.fillRect(0, 0, width, height);
    if (image != null)
    {
    g.drawImage(image, width/2, height/2, Graphics.VCENTER | Graphics.HCENTER);
    }
    g.setColor(255,255,255);
    g.drawString(lastKeyPressed, width/2, height - 10, Graphics.BASELINE | Graphics.HCENTER);
    }

    protected void keyPressed(int arg0) {
    switch (arg0)
    {
    case KEY_NUM0:
    lastKeyPressed = "0";
    break;

    case KEY_NUM1:
    lastKeyPressed = "1";
    break;

    case KEY_NUM2:
    lastKeyPressed = "2";
    break;

    case KEY_NUM3:
    lastKeyPressed = "3";
    break;

    case KEY_NUM4:
    lastKeyPressed = "4";
    break;

    case KEY_NUM5:
    lastKeyPressed = "5";
    break;

    case KEY_NUM6:
    lastKeyPressed = "6";
    break;

    case KEY_NUM7:
    lastKeyPressed = "7";
    break;

    case KEY_NUM8:
    lastKeyPressed = "8";
    break;

    case KEY_NUM9:
    lastKeyPressed = "9";
    break;
    }
    repaint();
    }


    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    102
    !!

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [j2me] guida Canvas

    Originariamente inviato da VXVX
    Non capisco dove sia l'errore... Ma non c'era bisogno di startApp() etc???
    Wireless Development Tutorial Part I
    J2ME Tutorial, Part 1: Creating MIDlets
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    102
    e del codice? Cosa manca?

  5. #5
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Quella classe non e' uma midlet.
    Non implementi ne' startApp, ne' pause ne' destroy

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    102
    E come mai non va?

  7. #7
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Sei andato ai link postati da andbin ?

    Quella che hai scritto non e' una midlet.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    102
    Si, questo lo ho capito.
    Ma non ho scritto io quella roba.
    Era sulla guida di J2ME su questo sito.
    Se non è una midlet, però, come devo fare a farlo funzionare?
    Devo collegarlo ad una midlet? come?
    Bisogna aggiungere un altra classe?
    Non lo so... sono ignorante.

  9. #9
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Se avessi letto la guida avresti notato che:

    "Il disegno di una schermata inizia con l'implementazione di un oggetto che estenda la classe astratta Canvas.

    Una classe di questo tipo può:

    * essere utilizzata come CommandListener analogamente ai componenti grafici di alto livello;
    * essere utilizzata per catturare gli eventi che caratterizzano l'attività dell'utente sulla tastiera (o su qualsiasi oggetto di puntamento supportato come, ad esempio, il pennino di uno smartphone, tipo Motorola A1000).
    ..."

    Per vedere degli esempi concrei di come venga correttamente utilizzata prova a cercare qualcosa su web.
    Troverai diversi esempi.

    Ad ogni modo devi passare cmq. dalla creazione di una midlet che rappresennta l'applicazione che verra' eseguita dall'application management system della KVM.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    102
    Appunto qui volevo arrivare.
    Non ho trovato nulla sul web.
    Puoi scrivermela tu, visto che io non so da dove cominciare?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.