PDA

Visualizza la versione completa : [java]identificatori generati dinamicamente


sime
27-06-2003, 15:21
Ho la necessità di accedere a diversi oggetti TextField.Non volendo indicarli tutti uno per uno avrei pennsato una roba di questo tipo

TextField A = new TextField();
int N;

while(____)
{
N++;
StringBuffer sb = new StringBuffer(6);
t = sb.append("A").append(N).toString();
'istanza della classe in cui ho definito i TextField'.t.setText(Sritnga);
}
ma non funziona.
Oppure avrei pensato di creare un array di oggeti TexField,ma per questo tipo di oggetto non riesco a trovare la sintassi giusta:

TextField tent[] = new TextField()[];

infatti non funziona.
Come potrei fare?:bhò:

floyd
27-06-2003, 15:24
TextField[] TF = new TextField[10];
TF[0] = new TextField("campo");
TF[1] = new TextField("campo");
e così via per tutti

sime
27-06-2003, 15:43
in effetti dovevo rifletterci un pò di più e insistere!Grazie comunque floyd.

sime
01-07-2003, 11:51
import java.awt.event.*;
import java.awt.*;

public class p2 extends java.applet.Applet implements ActionListener
{
//static TextField[] pr = new TextField[3];
TextField pr0 = new TextField();
TextField pr1 = new TextField();
TextField pr2 = new TextField();
Button i = new Button("BOTTONE");

public void buildConstraints (GridBagConstraints gbc,int gx,int gy, int gw,int gh,int wx,int wy)
{
gbc.gridx = gx;
gbc.gridy = gy;
gbc.gridwidth = gw;
gbc.gridheight = gh;
gbc.weightx = wx;
gbc.weighty = wy;
}
public void init()
{
GridBagConstraints limiti = new GridBagConstraints();
GridBagLayout gridbag = new GridBagLayout();
setLayout(gridbag);

buildConstraints(limiti,0,0,1,1,1,1);
gridbag.setConstraints(pr0,limiti);
add(pr0);

buildConstraints(limiti,1,0,1,1,1,0);
gridbag.setConstraints(pr1,limiti);
add(pr1);

buildConstraints(limiti,0,1,1,1,0,1);
gridbag.setConstraints(pr2,limiti);
add(pr2);

buildConstraints(limiti,1,1,1,1,0,0);
gridbag.setConstraints(i,limiti);
add(i);
}

public void actionPerformed(ActionEvent evt)
{
Object source = evt.getSource();
//GESTIONE EVENTO
}
}

// PERCHE' SE SOSTITUISCO TextField[] pr = new TextField[3]; AL POSTO DI
// pr0,pr1,pr2 ecc... NON FUNZIONA PIU'?:confused:

Zero-2
01-07-2003, 12:03
TextField pr[]=new TextField[3];
for(int i=0;i<pr.length;i++)
pr[i]=new TextField();



....

buildConstraints(limiti,0,0,1,1,1,1);
gridbag.setConstraints(tx[0],limiti);
add(tx[0]);

buildConstraints(limiti,1,0,1,1,1,0);
gridbag.setConstraints(tx[1],limiti);
add(tx[1]);

buildConstraints(limiti,0,1,1,1,0,1);
gridbag.setConstraints(tx[2],limiti);
add(tx[0]);

Loading