【问题标题】:How do I set values from ArrayList to JTextField using button? [closed]如何使用按钮将值从 ArrayList 设置为 JTextField? [关闭]
【发布时间】:2017-04-16 04:26:26
【问题描述】:
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));

【问题讨论】:

  • 如果您接受答案,请将其标记为已接受(答案分数下方的 V 符号)
  • 你为什么要把这条线放在它的位置上。 String[] Arra=str.split("");根据您的 for 循环,您可能应该有 listArray.get(b).split(" ");
  • 你的文本文件的结构是什么?
  • @sedrick 看起来像这样-SNo: 2509182, Pin No: 4769 2639 3118 3473 CHKCode: 52539-
  • 我建议您暂时不要使用文本字段并使用 System.out.println()。使用这种方法,您可以立即查看您的程序是否正在打印正确的信息,以及您的程序是否正确。一旦你可以看到事情运行顺利,更换你的 System.out.println();与 jtextfield.setText();此外,您需要练习/认真思考程序流程。您的流量已关闭。

标签: java jtextfield jlist


【解决方案1】:

首先,将您的 bufferedReader 更改为:

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

您试图从名为 filename 的文件而不是文件名本身创建 FileReader

Arra 是一个数组,但您将其用作列表。

改为这样做:

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

if 语句很重要,因为 Arra 可能没有索引 0 或 1

【讨论】:

  • 没用,不过还是谢谢
  • @Narciss 运行它时会发生什么?你试过调试吗?
  • 我有,但仍然一无所获
  • @Narciss 再次运行它时会发生什么?
  • 它运行良好,但我加载文件后 jtextfield 变为空
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-14
  • 2019-09-14
相关资源
最近更新 更多