Ragazzi, vi ringrazio davvero per l'aiuto!!
Ho capito quello che volete dirmi, ma non è esattamente il problema che non riesco a superare. Mi spiego meglio con un esempio:l'utente inputa 10 in un inputText e il programma crea 10 JText che mettiamo si chiameranno jt1,jt2..jt10. L'utente può iniziare a inserire i suoi dati da una qualsiasi di queste. Mettiamo che faccio l'InputVerifier in questa fase. Mano mano che le compila (quaesta parte mancava prima me ne rendo conto) il programma dovra intercettare quale jt è stata compilata e mi andrà a riempire un array che avrà come indice il numero della jt stessa. Ad esempio, l'utente compila la jt7, fa l'input verifier, e una volta che ha lasciato il focus carichera sull'array ad indice 7 quello che è stato inputato. E' vero, potrei caricare l'array tutto d'un fiato alla fine, ma se non capisco impazzisco!!!! E comunque anche se volessi caricare l'array alla fine, come potrei rintracciare le varie jtext? Comunque anche se questa soluzione sarà più facile vorrei capire se è fattibile con il rintracciamento immediato. (per Andbin, vedi questa per me che ripeto, sono un pivellino sia in java che in vb, è una grossa differenza che mi blocca completamente. In vb la gestione degli eventi mi sembra un pò più lineare e immediata)
Non riesco proprio a gestire l'evento..
Vi posto il codice completo:
codice:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package filmtime;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.Border;
public class FTMaker extends javax.swing.JFrame {
//dichiarazione publica
AnagraficaCinema anagCinema=new AnagraficaCinema();
Sala [] cinema;
public FTMaker() {
initComponents();
}
private void creaCienamActionPerformed(java.awt.event.ActionEvent evt) {
int y=50;
anagCinema.nome=nomeCinema.getText();
anagCinema.numSale=Short.parseShort(numSale.getText());
anagCinema.via=via.getText();
anagCinema.città=città.getText();
System.out.println(anagCinema.anagrafica());
cinema= new Sala[anagCinema.numSale];
JLabel lab0=new JLabel("Capienza");
pSale.add(lab0);
lab0.setBounds(100,10,80,20);
JLabel lab1=new JLabel("3D");
pSale.add(lab1);
lab1.setBounds(210,10,40,20);
//creao tante line di oggetti quante sale
for (int i = 1; i<anagCinema.numSale+1; i++){
JLabel lab=new JLabel();
lab.setName("label"+i);
lab.setText("Sala: "+i);
pSale.add(lab);
lab.setBounds(30, y, 80, 20);
JTextField capSala=new JTextField();
capSala.setName("capSala"+i);
pSale.add(capSala);
capSala.setBounds(100, y, 80, 20);
/*qua creo le jtext e possibilmente intercettare se vengono popolate
JCheckBox è3d= new JCheckBox();
è3d.setName("è3d"+1);
pSale.add(è3d);
è3d.setBounds(210, y, 20, 20);
y=y+30;
//pSale.setSize(new Dimension(scrollSale.getWidth(),y));
pSale.revalidate();
}
JButton CaricaCinema=new JButton();
pSale.add(CaricaCinema);
CaricaCinema.setBounds(100, y+20, 100, 40);
CaricaCinema.setText("SALVA");
CaricaCinema.addActionListener(new Caricone());
pSale.setPreferredSize(new Dimension(scrollSale.getWidth(),y+100));
pSale.revalidate();
}
public class Caricone implements ActionListener{
public void actionPerformed (ActionEvent e){
for (int i=0;i<anagCinema.numSale; i++){
cinema[i].capacità=capSala[i].getText;/*
* questa sintassi ovviamente non funziona se no era troppo
* facile :)). Non vede le capSale che sono le jtext che creo dinamicamente prima
*
*/
}
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FTMaker().setVisible(true);
}
});
//QUA SOtTO VA IL MAIN!!!!!!!!!!
}
// Variables declaration - do not modify
private javax.swing.JTextField città;
private javax.swing.JButton creaCienam;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JTextField nomeCinema;
private javax.swing.JTextField numSale;
private javax.swing.JPanel pAnagrafica;
private javax.swing.JPanel pSale;
private javax.swing.JScrollPane scrollSale;
private javax.swing.JTextField via;
// End of variables declaration
Ciao!!