Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    13

    Passare array ad una classe

    Buon giorno a tutti. Il mio problema è che devo passare un array di 18 JTextField ad un altra classe per ottenerne il riferimento.
    Io ho provato a farlo nel seguente modo, ma non riesco ad ottenere i riferimenti
    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class Prova extends JPanel
    {
            private JTextField one,two,three,four,five,six,tot_upper,bonus,total;
            private JTextField three_oak,four_oak,full_house,small_s,large_s;
            private JTextField yahtzee,chance;
            private JButton b;
    	
    
            public Prova()
    	{
                    JTextField[] punteggi= new JTextField[18];
    		punteggi[0]=one;
    		punteggi[1]=two;
    		punteggi[2]=three;
    		punteggi[3]=four;
    		punteggi[4]=five;
    		punteggi[5]=six;
    		punteggi[6]=tot_upper;
    		punteggi[7]=bonus;
    		punteggi[8]=total;
    		punteggi[9]=three_oak;
    		punteggi[10]=four_oak;
    		punteggi[11]=full_house;
    		punteggi[12]=small_s;
    		punteggi[13]=large_s;
    		punteggi[14]=chance;
    		punteggi[15]=yahtzee;
    		punteggi[16]=tot_lower;
    		punteggi[17]=grand_total;
                    a=new Ascoltatore(punteggi);
                    b.addActionListener(a);
             }
    }
    La classe Ascoltatore è così

    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class Ascoltatore implements ActionListener,MouseListener
    {
      private JTextField[] prova=new JTextField[18];
      
      public Ascoltatore(JTextField[] prova)
      {
          this.prova=prova;
      }
    
      /*
       *Evito di riportare i metodi per implementare ActionListener e MouseListener
       */
    }
    Chiedo scusa per il primo messaggio che evidentemente ho inviato troppo presto per errore

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa (ed è solo una scelta stilistica secondo me), ma invece di passarti un array di textfield fai la classe ascoltatore come inner?
    In questo caso non devi portarti dietro riferimenti.

    Poi in generale a cosa ti serve il riferimento, nell'actionListener, del textfield?

    Infine non ho capito bene l'errore, ma se è tutto qui è probabile che non hai istanziato i textfield prima di usarli

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    A parte che non hai specificato che errore ottieni, direi che quello che stai facendo sarebbe corretto se prima di inizializzare l'array, creassi anche gli oggetti JTextField... dal codice che hai riportato tu non crei da nessuna parte le JTextField, ma ti limiti a creare un array con i riferimenti a delle JTextField dichiarate a livello di classe ma mai istanziate (quindi nulle).


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