Buongiorno a voi tutti. Sono alle prime armi con le interfacce grafiche Java, e oggi, a titolo di esercizio accademico, ho provato a creare un programma che abbia due aree di testo e un pulsante: inserendo nella prima una stringa di caratteri e premendo il pulsante, il software deve restituire nella seconda il numero di caratteri da cui è costituita la stringa stessa. Il programma non funziona, ma non capisco dove sbaglio: vi posto il codice qui sotto.
Ho creato una classe sola, e tutto gira nella funzione main (so che non è il massimo, ma è stato lo stesso mio professore a dirci per stavolta di fare così).codice:import java.awt.Container; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class FrameDemo extends JPanel { public static void main(String[] args) { String stringa; JFrame frame = new JFrame("Conta caratteri"); /*Qui viene creato il form*/ frame.setSize(400, 100); Container c = frame.getContentPane(); frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); JTextField risultato = new JTextField(9); //Qui le textarea risultato.setEditable(false); JTextField ingresso = new JTextField(15); c.add(ingresso); c.add(risultato); //System.out.println("cio"); String stringa1 = ingresso.getText(); System.out.println(stringa1); JButton conta = new JButton("Conta"); //conta.addActionListener(null); c.add(conta); conta.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent event) { int num_caratteri = stringa1.length(); risultato.setText("Caratteri: " + num_caratteri); } }); frame.setVisible(true); } }
Grazie

Rispondi quotando

