Anzitutto un saluto agli utenti del forum,
premetto che sono nuovo e niubbo sia del forun che di java, ma avrei voglia di impara a fare qualche cosa..
Però ora ho un problema, dovrei fare per la scuola un programma che sostanzialmente dovrebbe creare dei bottoni e all'interno di ognuno di questi sciverci delle cose (diverse per ogni bottone ovviamente). Ho scritto le cose che mi interessavano in un file e poi con una clesse leggo il file e metto tutto in un array con il seguente codice (vi prego abbiate pietà di me.. molte delle cose che faccio sono ... "prove", ma se potete correggetemi)
codice:
import java.io.*;

public class ArrayFile {
  
    public static String elenco[];
  
    public static void setElenco(int dim) throws IOException {
    String v[]=new String[dim];
    int i;
    FileReader f;
    BufferedReader b;
    String s;
    f=new FileReader("filecondati.txt");
    b=new BufferedReader(f);
    for(i=0; i<dim; i++) {
      s=b.readLine();
      if(s==null)
        break;
      v[i]=s;
    }
    for(i=0; i<dim; i++) {
      System.out.println(v[i]);
      elenco[i]=v[i];   
    }    
  }

    public ArrayFile(int dim) throws IOException {
        this.elenco = new String[dim];
        setElenco(dim);
    }
    public static String[] getElenco(int dim) throws IOException {
    return elenco;
    }
il problema è che non riesco a capire come andare a prendere questo array dall'altra classe (dove deve usarlo per metterlo nei bottoni)...


codice:
public class Elementi extends javax.swing.JButton {
    public int i;
    private int num;
    private String numElem;
    private String lista[];
    
    public Elementi(int parametro) throws FileNotFoundException, IOException
    {
        this.lista = new (String) ArrayFile(100);
        num=parametro;    
    }    
    
    @Override
    public void paint(Graphics G) {
        String rigauno;
        rigauno= (String) lista[num];
        super.paint(G);
        Font f1 = G.getFont();
        float dim = (float) (f1.getSize() * 1.0);
        Font f2 = f1.deriveFont(dim);
        System.out.println(numElem);
        G.drawString(rigauno, 4, 5);
        G.setFont(f2);
        G.setColor(Color.RED);
        G.drawString("g", 4, 10);
        G.setFont(f1);
        G.setColor(Color.BLACK);
        G.drawString("Pippo", 4, 20);
        G.drawString("1,00", 4, 30);
     }
    }
se qualcuno riuscisse a farmi capire qualche cosa in più gliene sarei grato, anche perchè capisco di fare ancora molta confusione tra variabili e attributi e sono ancora "fermo" ai concetti della programmazione tradizione non ad oggetti
Grazie