Corvo80
18-01-2006, 16:42
La seguente applet dovrebbe costruire una semplice interfaccia con 2 labels e 2 text fields. Il programma costruisce un vettore dei 4 oggetti (nell'ordine la prima label, il primo field, la seconda label e il secondo field) e poi lo smonta costruendo l'interfaccia, tramite un cast a component. Tuttavia, a quanto pare il vettore si riempie solo con le due labels e non capisco come mai...
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.*;
public class FirstApplet extends Applet
implements ActionListener {
private Label campo1Label;
private TextField campo1Field;
private Label campo2Label;
private TextField campo2Field;
public void init() {
Vector lista1 = new Vector();
setLayout(new FlowLayout());
campo1Label = new Label("Campo 1");
lista1.add(0, campo1Label);
campo1Field = new TextField(10);
campo1Field.addActionListener(this);
lista1.add(1, campo1Field);
campo2Label = new Label("Campo 2");
lista1.add(2, campo2Label);
campo2Field = new TextField(10);
campo2Field.addActionListener(this);
lista1.add(3, campo2Field);
int i;
for (i=0; i<4; i++) {
Object obj = (Object)lista1.get(i);
add((Component<)obj);
lista1.remove(i);
}
}
public void actionPerformed(ActionEvent event) {
String campo1 = campo1Field.getText();
System.out.println(campo1);
String campo2 = campo2Field.getText();
System.out.println(campo2);
}
}
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.*;
public class FirstApplet extends Applet
implements ActionListener {
private Label campo1Label;
private TextField campo1Field;
private Label campo2Label;
private TextField campo2Field;
public void init() {
Vector lista1 = new Vector();
setLayout(new FlowLayout());
campo1Label = new Label("Campo 1");
lista1.add(0, campo1Label);
campo1Field = new TextField(10);
campo1Field.addActionListener(this);
lista1.add(1, campo1Field);
campo2Label = new Label("Campo 2");
lista1.add(2, campo2Label);
campo2Field = new TextField(10);
campo2Field.addActionListener(this);
lista1.add(3, campo2Field);
int i;
for (i=0; i<4; i++) {
Object obj = (Object)lista1.get(i);
add((Component<)obj);
lista1.remove(i);
}
}
public void actionPerformed(ActionEvent event) {
String campo1 = campo1Field.getText();
System.out.println(campo1);
String campo2 = campo2Field.getText();
System.out.println(campo2);
}
}