如何使用按钮将数值从ArrayList设置为JTextField?

问题描述:

JFileChooser chooser = new JFileChooser(); 
FileNameExtensionFilter filter =new FileNameExtensionFilter ("Text/Java files","txt","java"); 
chooser.showOpenDialog(null); 
File f = chooser.getSelectedFile(); 
String filename = f.getAbsolutePath(); 
BufferedReader in = new BufferedReader(new FileReader("filename")); 
String str; 

ArrayList<String> list = new ArrayList<>(); 
while ((str = in.readLine()) != null) { 
    list.add(str); 
} 
String[] listArray =list.toArray(new String[list.size()]); 
for (int b=0; b<listArray.length;b++) { 
    String[] Arra= str.split(" "); 

    jTextfield1.setText(Arra.get(0)); 
    jTextfield2.setText(Arra.get(0)); 
+0

索引如果你接受的答案,将其标记为接受(下答案得分V符号是非常重要的) – ItamarG3

+0

为什么你有这条线在它的位置。 String [] Arra = str.split(“”);根据你的循环你应该有可能listArray.get(b).split(“”); – Sedrick

+0

你的文本文件的结构是什么? – Sedrick

首先,你的BufferedReader改成这样:

BufferedReader in = new BufferedReader(new FileReader(filename));//remove quotes around filename 

你试图创建一个名为从文件名本身

Arrafilename,而不是文件FileReader是一个数组,但你用它作为一个列表。

而是执行此操作:

if(Arra.length > 1){ 
    jTextfield1.setText(Arra[0]); 
    jTextfield2.setText(Arra[1]); 
} 

if语句,因为Arra可能没有的0或1

+0

它没有工作,但无论如何感谢 – Narciss

+0

@Narciss当你运行它会发生什么?你尝试调试吗? – ItamarG3

+0

我已经和仍然没有得到 – Narciss