Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    [JAVA] Errore d'esecuzione

    Ciao a tutti, ho un problema.... sto cercando di convertire una mia vecchia applet del gioco del tris in un gioco per cellulare... in questo preciso momento il gioco "sarebbe" pronto, tranne magari quelke accorgimento, per funzionare su pc con gli adattamenti da applet a programma e cambiando da inpit da pulsante a input di tastiera! Però appena quando lo lancio mi appare il frame vuoto, solo col colore dello sfondo, e in dos quest'errore: java.lang.NullPointerException..... e in poche parole mi da errore nel metodo paint(), che io provo a cambiare con paintComponent(), ma così facendo nn mi da + errore ma si visualizza un frame vuoto..... cosa posso fare????

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Posta un po' di codice; forse può esserci utile.
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  4. #4
    codice:
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    /*
    <applet code="tris" widht="500" height=500>
    </applet>
    */
    
    public class tris extends JFrame implements KeyListener{
    int vett[];
    Random r=new Random();
    int j=1,mossa=1,x=501,y=501,v,ra;
    boolean t=false;
    JButton list[]=new JButton[9];
    String mess="";
    String mpc="";
    Image cerchio,croce,vit,sco,tit;
    
    tris(String title){
    setSize(500,500);
    setLocation(0,0);
    setVisible(true);
    Color blu=new Color(76,190,255);
    setBackground(blu);
    Image cerchio= Toolkit.getDefaultToolkit().createImage("cerchio.gif");
    Image croce= Toolkit.getDefaultToolkit().createImage("croce.gif");
    Image vit= Toolkit.getDefaultToolkit().createImage("vittoria.gif");
    Image sco= Toolkit.getDefaultToolkit().createImage("sconfitta.gif");
    Image tit= Toolkit.getDefaultToolkit().createImage("titolo.gif");
    init();
    }
    
    init()
    controllo()
    mossapc()
    
    public static void main(String args[]){
    String titolo="TRIS";
    tris Tris=new tris(titolo);
    }
    public void keyPressed(KeyEvent ke){
    
    if ((mossa==1) | (mossa==3) | (mossa==5) | (mossa==7) | (mossa==9)){
    if (ke.getKeyCode()==KeyEvent.VK_1){
    mess="Hai cliccato il pulsante numero: 1";
    j=j+1;
    vett[0]=1;
    repaint();
    }
    
    public void paint(Graphics g){
    g.drawImage(tit,50,25,tit.getWidth(this),tit.getHeight(this),this);
    g.drawString(mess,100,450);
    g.setColor (Color.white);
    g.drawLine (200,100,200,400);
    g.drawLine (300,100,300,400);
    g.drawLine (100,200,400,200);
    g.drawLine (100,300,400,300);
    if (vett[0]==1) g.drawImage(cerchio,100,100,cerchio.getWidth(this),cerchio.getHeight(this),this);
    if (vett[1]==1) g.drawImage(cerchio,202,100,cerchio.getWidth(this),cerchio.getHeight(this),this);
    if (vett[2]==1) g.drawImage(cerchio,302,100,cerchio.getWidth(this),cerchio.getHeight(this),this);
    if (vett[3]==1) g.drawImage(cerchio,100,202,cerchio.getWidth(this),cerchio.getHeight(this),this);
    if (vett[4]==1) g.drawImage(cerchio,200,202,cerchio.getWidth(this),cerchio.getHeight(this),this);
    if (vett[5]==1) g.drawImage(cerchio,302,202,cerchio.getWidth(this),cerchio.getHeight(this),this);
    if (vett[6]==1) g.drawImage(cerchio,100,302,cerchio.getWidth(this),cerchio.getHeight(this),this);
    if (vett[7]==1) g.drawImage(cerchio,202,302,cerchio.getWidth(this),cerchio.getHeight(this),this);
    if (vett[8]==1) g.drawImage(cerchio,302,302,cerchio.getWidth(this),cerchio.getHeight(this),this);
    if (vett[0]==2) g.drawImage(croce,100,100,croce.getWidth(this),croce.getHeight(this),this);
    if (vett[1]==2) g.drawImage(croce,202,100,croce.getWidth(this),croce.getHeight(this),this);
    if (vett[2]==2) g.drawImage(croce,302,100,croce.getWidth(this),croce.getHeight(this),this);
    if (vett[3]==2) g.drawImage(croce,100,202,croce.getWidth(this),croce.getHeight(this),this);
    if (vett[4]==2) g.drawImage(croce,200,202,croce.getWidth(this),croce.getHeight(this),this);
    if (vett[5]==2) g.drawImage(croce,302,202,croce.getWidth(this),croce.getHeight(this),this);
    if (vett[6]==2) g.drawImage(croce,100,302,croce.getWidth(this),croce.getHeight(this),this);
    if (vett[7]==2) g.drawImage(croce,202,302,croce.getWidth(this),croce.getHeight(this),this);
    if (vett[8]==2) g.drawImage(croce,302,302,croce.getWidth(this),croce.getHeight(this),this);
    if (v==2) g.drawImage(vit,125,300,vit.getWidth(this),vit.getHeight(this),this);
    if (v==1) g.drawImage(sco,125,300,sco.getWidth(this),sco.getHeight(this),this);
    }
    }
    nn l'ho popstato tutto se no era troppo lungo!!! ciao

  5. #5
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ho dato un'occhiata veloce al codice; tu valorizzi, dell'array di int, solo il primo elemento; però non vedo da nessuna parte una cosa del tipo:

    int[] vet = new int[10];

    potrebbe essere questo l'errore. Ho, cmq, dato solo 1 occhio veloce.
    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  6. #6
    No, quello lo faccio in init(), l'errore è nel metodo paint()!! sìdimmelo se vuoi ti invio tutto il codice per mail così lo vedi!! ciao e grazie

  7. #7
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    ok invialo; lo zippi e lo invii a angeloimm@libero.it
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  8. #8

  9. #9
    Se altri oltre a Angelo sanno come risolvere il mio problema vi allego l'errore ke mi da quando la avvio!!
    ciao


  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Qual è la riga 295?? Posso buttarla lì: la prima del metodo paint()?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2024 vBulletin Solutions, Inc. All rights reserved.