class X{
JTextField arr[]= new JTextField[SIZE];
int lastIndex = 0;
public void actionPerformed(ActionEvent e) {
lastIndex++;
if(lastIndex >= SIZE)
return;
arr[lastIndex] = new JTextField();
....
}
...
}
JTextField arr[]= new JTextField[SIZE];
int lastIndex = 0;
public void actionPerformed(ActionEvent e) {
lastIndex++;
if(lastIndex >= SIZE)
return;
arr[lastIndex] = new JTextField();
....
}
...
}
...
v.add(new JTextField());
最好能把你的问题再具体地说一下.
public void actionPerformed(ActionEvent e) {
JTextField o = (JTextField)e.getSource();
changeOrder(o);
}
});
...
static Vector v = new Vector(); public static void changeOrder(JTextField o) {
try{
int newPosition = Integer.parseInt(o.getText().trim());
for(int i = 0; i < v.size(); i++) {
if(!v.get(i).equals(o))
continue; v.remove(i);
v.add(newPosition,o);
return;
}
}catch(Exception e){}
}
你的这就话是错的
int newPosition = Integer.parseInt(o.getText().trim());
o.getText(), 是一个字符串,不能转换成int
1.一堆JTextField放在Vecter中.
2.在Vecter中的次序就是编号.
3.点击其中一个,得到其编号并setText(编号)
public int number;
public MyTextField(int number) {
this.number = number;
setToolTipText(""+number);
}
// ...
// your implementation
}
static int TOTAL_FIELDS = 0;
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
v.add(new MyTextField(++TOTAL_FIELDS));
}
});
http://www.csdn.net/Questionnaire/award1.asp?id=40
每次这个textfield的内容我怎么给他啊.==>他是谁? textfield.setText("str")?
你可以用
MyTextField f = new MyTextField("str"); //
f.number = 12345;
v.add(f);我的信箱爆了.很长时间不去看了. 还是用短信吧. 参见. http://www.csdn.net/Questionnaire/award1.asp?id=40
v.remove(i);
v.remove(i);
hellall 如果你这么删的话,比如面板上面有7个textfield,他们的编号从0到6,我随便选择一个编号为3的textfield,因为这些号码,已经在初始化的时候给了,那么这个面板将给他们重新排号,也就是说最后一个的号码变成了5(面板上面的控件顺序),如果我去删那个原来编号为6的textfield,系统将会报错。这个问题怎么解决阿!!!!!!!!1
You can use:
panel.remove(textfield);
v.remove(textfield);