Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JAVA] Errore di esec di JFrame

    Ciao, allora io ho questo pezzo di codice.....

    codice:
    public void classifica(){
    JLabel cla[]=new JLabel[4];
    String pos[]=new String[4];
    JFrame c=new JFrame();
    getContentPane().setLayout(null);
    c.setTitle("Classifica Finale");
    c.setSize(250,150);
    c.setLocation(10,20);
    setResizable(false);
    cla[0]=new JLabel("Primo");
    for (int a=0;a<4;a++)
    c.getContentPane().add(cla[a]);
    cla[0].setBounds(10,10,20,10);
    c.setVisible(true);
    }
    
    
    public void actionPerformed(ActionEvent ae){
    if ((ae.getSource()==garaS[0])&(var.liv>=1)&(var.liv<=4)){
                                                             cas=(r.nextDouble())*3;
                                                             CalcTot();
                                                             for (int b=1;b<4;b++){
                                                               cas=(r.nextDouble())*3;
                                                               livel=(r.nextDouble())*3;
                                                               brav=(r.nextDouble())*3;
                                                               tot[b]=cas+livel+brav;
                                                               classifica();
                                                              }
                                                             };
    repaint();
    }
    E quando clicco il pulsante mi da un errore di esecuzione chiamato NullPointerException(fosse la prima volta ke mi da un'errore di sto genere...)! La mia domanda naturalmente è dove sbaglio nel creare l'oggetto ke crea un frame?????
    Ciao e grazie a kiunque mi risponda!!!

  2. #2
    Ecco la riga incriminata:

    codice:
    c.getContentPane().add(cla[a]);
    a va da 0 a tre ma tu hai inizializzato solo cla[0].

    ..::200 post il 1 settembre 2004::..
    ..::100 13/07/2004::..
    ..): Web Site (pazienza però) ..
    VASCO castiga chi non lecca la FIGA

  3. #3
    é vero....ora così funziona!!!! Ke errore stupido!!!
    Grazie mille!!
    Ciao Ciao

  4. #4
    Nuovo problema sempre nella stessa parte di codice:
    allora questo è il codice:
    codice:
    public void classifica(){
    JLabel cla[]=new JLabel[4];
    JFrame c=new JFrame();
    getContentPane().setLayout(null);
    c.setTitle("Classifica Finale");
    c.setSize(250,150);
    c.setLocation(10,20);
    c.setResizable(false);
    ordina();
    cla[0]=new JLabel("Primo "+pos[0]);
    cla[1]=new JLabel("Secondo "+pos[1]);
    cla[2]=new JLabel("Terzo "+pos[2]);
    cla[3]=new JLabel("Quarto "+pos[3]);
    for (int a=0;a<4;a++)
    c.getContentPane().add(cla[a]);
    cla[0].setBounds(10,10,150,10);
    cla[1].setBounds(10,30,150,10);
    cla[2].setBounds(10,50,150,10);
    cla[3].setBounds(10,70,150,10);
    c.setVisible(true);
    }
    
    
    public void actionPerformed(ActionEvent ae){
    if ((ae.getSource()==garaS[0])&(var.liv>=1)&(var.liv<=4)){
                                                             cas=(r.nextDouble())*3;
                                                             CalcTot();
                                                             for (int b=1;b<4;b++){
                                                               cas=(r.nextDouble())*3;
                                                               livel=(r.nextDouble())*3;
                                                               brav=(r.nextDouble())*3;
                                                               tot[b]=cas+livel+brav;
                                                              }
                                                             classifica();
                                                             var.nGare+=1;
                                                             };
    Ora il problema sta nell'ultima JLabel.....ke nn si posiziona nel posto in cui io indico.....xkè????
    Ciao e grazie!!!

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Uhm... non ho visto un'istruzione di questo tipo:
    codice:
    c.getContentPane().setLayout(null);
    ma solamente questa
    codice:
    getContentPane().setLayout(null);
    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

  6. #6
    Ok, così funziona alla perfezione......
    Ancora grazie per la 1000° volta.....

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.