Oppure

Loading
07/10/06 10:48
Fireantology
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.
:(
aaa
07/10/06 13:19
Rand
ecco qua....se nn capisci qualcosa chiedi pure ;)

import java.awt.*;
import java.swing.*;
import java.awt.event.ActionListener;


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<nrighe; i++) {
	for(int j=0; j<ncolonne; j++) {
		JTextField p=new JTextField(5); //5=> lunghezza campo di testo
		p.setText("NULL");
		alltxt[i+j]=p;
		pannello.add(alltxt[i+j]);
	}
	}

	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<nrighe; i++) {
		for(int j=0; j<ncolonne; j++) {
			valori_letti=valori_letti+alltxt[i+j].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 Rand 07/10/06 13:31
aaa
07/10/06 21:22
Fireantology
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[i]=p;
pannello.add(alltxt[i]);
}
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[i].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 07/10/06 21:26
aaa
08/10/06 14:30
Rand
si nn l'ho provato :D;)
aaa