如果我有一个大小为4的数组:int[] array = new int[4];
我有
TextField text1 = new TextField();
TextField text2 = new TextField();
TextField text3 = new TextField();
TextField text4 = new TextField();
text1显示array [0]
的包含
text2显示array [1]
的包含
text3显示array [2]
的包含
text4显示array [3]
如果我想将array [0]
的内容推送到array [1]
并在我的文本字段中显示,我该怎么做?
感谢
答案 0 :(得分:1)
简单:
index[2] = index[1];
index[1] = index[0];
你可以使用for循环,如果数组中有很多索引,它就是计数器。
之后,textField.setText(index[wantedIndex]);
答案 1 :(得分:1)
仅限一个单元格:
array[1] = array[0];
text2.setText(String.valueOf(array[1]));
如果你想将数组中的所有元素都加一:
TextField[] fields = {text1, text2, text3, text4};
for (int i = 3; i > 0; i--) {
array[i] = array[i-1];
fields[i].setText(String.valueOf(array[i]));
}
// previous content of array[3] is lost
// do sth with array[0] which remains unchanged
在数组中向后循环非常重要。否则,您将在复制之前覆盖单元格,并使用先前的array [0]内容填充所有单元格。
顺便说一下,如上所示,您似乎想要向上推 - 而不是向下推。答案 2 :(得分:0)
你需要的基本上是两件事
要交换变量,请执行以下操作:
array[2] = array[1]; //this overwrites value of array[2] with value of array[1]
要设置TextField的值,您需要调用setText(String)
方法并将其传递给String。由于您要设置为TextField
的值是int,因此您需要先将其更改为String,然后将其设置如下:
//assuming that you have updated the value of array[2] to array[1]
text1.setText(String.valueOf(array[2]));
上面将array[2]
中的整数转换为String
,然后设置TextField
。
请参阅TextField文档here。 setText()的方法签名如下:
public void setText(String t)
设置此
显示的文本文本组件是指定的文本。