Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - SIMIL FORM IN JAVA
Forum - Java - SIMIL FORM IN JAVA

Avatar
Fireantology (Normal User)
Newbie


Messaggi: 8
Iscritto: 07/10/2006

Segnala al moderatore
Postato alle 12:48
Sabato, 07/10/2006
Salve, vorrei avere delle delucidazioni su come, creando un pannello con N campi di testo passare tutti i valori di questi campi(dopo ad esempio il click di un pulsante) in delle variabili da utilizzare per archiviazione o passaggi ad altre interfacce, chiaramente non guasterebbe un codice di esempio.
Ringrazio anticipatamente chiunque possa aiutarmi.
:(

PM Quote
Avatar
Rand (Ex-Member)
Pro


Messaggi: 163
Iscritto: 17/05/2005

Segnala al moderatore
Postato alle 15:19
Sabato, 07/10/2006
ecco qua....se nn capisci qualcosa chiedi pure ;)

Codice sorgente - presumibilmente Java

  1. import java.awt.*;
  2. import java.swing.*;
  3. import java.awt.event.ActionListener;
  4.  
  5.  
  6. public class ProvaPannello extends JFrame implements ActionListener {
  7. private JFrame f;
  8. private Container content;
  9. private JPanel pannello;
  10. private JTextField []alltxt;
  11. private JButton btnOK;
  12. private int nrighe, ncolonne;
  13.  
  14.  
  15. public ProvaPannello(int nrighe, int ncolonne) {
  16.         f=new JFrame("Prova Panello - by Rand(rand@hackernetwork.com)");
  17.         content=f.getContentPane();
  18.         content.setLayout(new GridLayout(2,1));
  19.  
  20.         this.nrighe=nrighe;
  21.         this.ncolonne=ncolonne;
  22.  
  23.         //creo i componenti
  24.         pannello=new JPanel(new GridLayout(nrighe,ncolonne));
  25.         alltxt=new JTextField[nrighe*ncolonne];
  26.         btnOK=new JButton("LEGGI VALORI!!");
  27.         btnOK.setActionCommand("leggivalori");
  28.         btnOK.addActionListener(this);
  29.  
  30.         for(int i=0; i<nrighe; i++) {
  31.         for(int j=0; j<ncolonne; j++) {
  32.                 JTextField p=new JTextField(5); //5=> lunghezza campo di testo
  33.                 p.setText("NULL");
  34.                 alltxt[i+j]=p;
  35.                 pannello.add(alltxt[i+j]);
  36.         }
  37.         }
  38.  
  39.         content.add(pannello);
  40.         content.add(btnOK);
  41.         f.pack();
  42.         f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  43.         f.setVisible(true);
  44. }
  45.  
  46.  
  47. public void actionPerformed(ActionEvent ae) {
  48. String valori_letti;
  49.         if(ae.getActionCommand()="leggivalori") {
  50.                 //leggo i valori e li stampo
  51.                 for(int i=0; i<nrighe; i++) {
  52.                 for(int j=0; j<ncolonne; j++) {
  53.                         valori_letti=valori_letti+alltxt[i+j].getText();
  54.                 }
  55.                 }
  56.  
  57.         JOptionPane.ShowMessageDialog(null, valori_letti,"Valori Letti...",1);
  58.         }
  59. }
  60.  
  61.        
  62. public static void main(String[] args) {
  63.         try {
  64.                 ProvaPannello obj=new ProvaPannello(3,3);
  65.         } catch(Exception e) {
  66.                 System.out.println("ERRORE: " + e.toString());
  67.         }
  68. }
  69.  
  70. }


Ultima modifica effettuata da Rand il 07/10/2006 alle 15:31
PM Quote
Avatar
Fireantology (Normal User)
Newbie


Messaggi: 8
Iscritto: 07/10/2006

Segnala al moderatore
Postato alle 23:22
Sabato, 07/10/2006
Grazie mille ho capito ora come gestire il tutto, ho dovuto però apportare correzioni al tuo codice, magari non avevi avuto il tempo di provarlo. Per la precisione i for innestati creavano nel vettore il richiamo degli stessi primi indici del vettore e quindi ignoravano i restanti campi... ecco il codice corretto lo metto nel caso serva ad altri utenti... GRAZIE MILLE ANCORA:k:
-----------------------------------
import java.awt.*;
import javax.swing.*;

public class ProvaPannello extends JFrame implements ActionListener {

private JFrame f;
private Container content;
private JPanel pannello;
private JTextField []alltxt;
private JButton btnOK;
private int nrighe, ncolonne;


public ProvaPannello(int nrighe, int ncolonne) {
f=new JFrame("Prova Panello - by Rand(rand@hackernetwork.com)");
content=f.getContentPane();
content.setLayout(new GridLayout(2,1));

this.nrighe=nrighe;
this.ncolonne=ncolonne;

//creo i componenti
pannello=new JPanel(new GridLayout(nrighe,ncolonne));
alltxt=new JTextField[nrighe*ncolonne];
btnOK=new JButton("LEGGI VALORI!!");
btnOK.setActionCommand("leggivalori");
btnOK.addActionListener(this);
for(int i=0; i<alltxt.length; i++){
JTextField p=new JTextField(5);
p.setText("NULL");
alltxt=p;
pannello.add(alltxt);
}
content.add(pannello);
content.add(btnOK);
f.pack();
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.setVisible(true);
}


public void actionPerformed(ActionEvent ae) {
String valori_letti="";
if(ae.getActionCommand()=="leggivalori") {
//leggo i valori e li stampo
for(int i=0; i<alltxt.length; i++) {
valori_letti=valori_letti+" - "+alltxt.getText();
}

JOptionPane.showMessageDialog(null, valori_letti,"Valori Letti...",1);
}
}


public static void main(String[] args) {
try {
ProvaPannello obj=new ProvaPannello(3,3);
} catch(Exception e) {
System.out.println("ERRORE: " + e.toString());
}
}




}

Ultima modifica effettuata da Fireantology il 07/10/2006 alle 23:26
PM Quote
Avatar
Rand (Ex-Member)
Pro


Messaggi: 163
Iscritto: 17/05/2005

Segnala al moderatore
Postato alle 16:30
Domenica, 08/10/2006
si nn l'ho provato :D;)

PM Quote