[英]Returning an arraylist to be accessed from another class
我是Stackoverflow的新手,所以去吧。
我目前正在从事一项需要从csv文件读取并将其放入某种数据收集的作业。
我去了一个arraylist。 但是我似乎坚持使用的方法是,尝试使用ReadWriteFile类将csv文件读入arraylist(有效)。 但是我需要以某种方式访问我的GUI类中的数组,以将上述数据填充到JTable中。
在浏览了类似的帮助请求后,我一直没有找到任何成功。
我当前的代码来自我的ReadWriteFile类;
public static void Read() throws IOException {
String lines = "";
String unparsedFile = "";
String dataArray[];
String col[] = { "COUNTRY", "MILITARY", "CIVILIAN", "POWER" };
FileReader fr = new FileReader("C:/Users/Corbin/Desktop/IN610 - Assignment 1/Programming3_WWII_Deaths.csv");
BufferedReader br = new BufferedReader(fr);
while ((lines = br.readLine()) != null) {
unparsedFile = unparsedFile + lines;
}
br.close();
dataArray = unparsedFile.split(",");
for (String item : dataArray) {
System.out.println(item);
}
ArrayList<String> myArrayList = new ArrayList<String>();
for (int i = 0; i < dataArray.length; i++) {
myArrayList.add(dataArray[i]);
}
}
所以我的问题是; 如何创建一个从数组返回值的方法,以便可以在GUI类中访问该数组并将每个元素添加到JTable中?
谢谢!
这是一些简单的示例,说明如何在方法中返回数组以及如何在GUI类中使用它:
public class Main {
public String[] readFromFile (String filePath) {
ArrayList<String> yourList = new ArrayList<String>();
try {
BufferedReader br = new BufferedReader(new FileReader(filePath));
// read file content to yourList
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return yourList.toArray(new String[yourList.size()]);
}
}
和GUI类:
public class GUI extends JFrame {
private JTable jTable;
public GUI() {
jTable = new JTable(10, 10);
this.getContentPane().add(jTable);
this.setVisible(true);
this.pack();
}
public void passArrayToTable(Main mainClass) {
String[] array = mainClass.readFromFile("C:\\file.csv");
// for (String s : array) {
// add values to jTable with: jTable.setValueAt(s,row,column);
// }
}
public static void main(String[] args) {
new GUI().passArrayToTable(new Main());
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.