Sto studiando da autodidatta e mi sono fermato davanti a questo problema che dovrebbe essere banale ma che io non riesco a risolvere.
Ho una classe col metodo main che crea una finestra la quale crea un pannello e lo aggiunge. Fino a qui nessun problema. Poi ho un'altra classe che gestisce i numeri dell'estrazione e anche qui va tutto bene.(non l'ho inserita nel codice per semplificare)
I guai iniziano quando, premendo il pulsante del pannello dovrei vedere i numeri (che poi sono stringhe) scritti sul pannello stesso ma in realtà non c'è niente.
Datemi una mano perchè non risco a dormire
Ecco qui il codice:
codice:import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class NumCas { public static void main(String[]args) { Finestra finestra = new Finestra(); finestra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); finestra.setVisible(true); } } class Finestra extends JFrame { public static final int LARGHEZZA = 400; public static final int ALTEZZA = 300; public Finestra() { this.setTitle("CasualNumber"); this.setSize(LARGHEZZA,ALTEZZA); Pannello pannello = new Pannello(); Container pannelloContenitore = this.getContentPane(); pannelloContenitore.add(pannello); } } class Pannello extends JPanel { private ArrayList<String>listaNumeri; public Pannello() { listaNumeri = new ArrayList<String>(); JButton bottEstraiNumeri = new JButton("Estrai Numeri"); this.add(bottEstraiNumeri); AzioneEstraiNumeri aEN = new AzioneEstraiNumeri(); bottEstraiNumeri.addActionListener(aEN); } public void paintComponent(Graphics g) { //NON RIESCO A CAPIRE PERCHE' NON VIENE SCRITTO NIENTE SULLA FINESTRA super.paintComponent(g); int x = 20; int y = 100; for(int i = 0; i < listaNumeri.size(); i++) { g.drawString(listaNumeri.get(i),x,y); x+=20;//serve per scrivere il numero successivo più spostato rispetto al precedente } } private class AzioneEstraiNumeri implements ActionListener { public AzioneEstraiNumeri() { } public void actionPerformed(ActionEvent e) { listaNumeri.add(5+"");//giusto per esempio listaNumeri.add(6+"");//giusto per esempio } } }


Rispondi quotando
al volante son nervoso