【发布时间】:2015-01-03 15:15:17
【问题描述】:
我有一个数组列表,想使用 gui 在 Jlist 上显示它,我正在使用拖放来制作表单,所以我需要动态填充列表。 我试图进入 Jlist 的属性并使模型是自定义代码,但发生的问题是数组列表从文本文件中获取其元素,这意味着当我想填充数组列表时,我应该调用一个方法它的参数之一是文件名。 使用此方法时,应使用 try and catch ,但是当我设置 Jlist 的模型时,它会使用它! 我应该怎么做才能使表单上的数组列表显示为列表?
public static ArrayList<Beverage> readBeverageTextFile(String fileName) throws FileNotFoundException, IOException {
ArrayList<Beverage> bevList = new ArrayList<>();
Reader reader = new FileReader(fileName);
BufferedReader buf = new BufferedReader(reader);
String line;
while (true) {
line = buf.readLine();
if (line == null) {
break;
}
try {
StringTokenizer tokenizer = new StringTokenizer(line, "|");
String name = tokenizer.nextToken();
//System.out.println("The name is " + name);
String desc = tokenizer.nextToken();
//System.out.println("The dest " + desc);
double price = Double.parseDouble(tokenizer.nextToken());
//System.out.println("The Price is " + price);
double quantity = Double.parseDouble(tokenizer.nextToken());
//System.out.println("The Quantity is " + quantity);
double ex = Double.parseDouble(tokenizer.nextToken());
double pac = Double.parseDouble(tokenizer.nextToken());
double capacity = Double.parseDouble(tokenizer.nextToken());
//System.out.println("The Capacity is " + capacity);
bevList.add(new Beverage(capacity, name, desc, quantity, price, ex, pac));
} catch (NumberFormatException ex) {
Logger.getLogger(Beverage.class.getName()).log(Level.WARNING, "error");
}
}
return bevList;
}
【问题讨论】:
-
你现在有什么代码?
-
这个:
"When using this method try and catch shohld be used but when I set the model of the Jlist it minds use it!"不清楚。请准确说明您的代码可能遇到的问题,并请显示您的代码(正如@laune 也要求的那样)。 -
我发布了填充arrarylist的方法,这个数组列表我想将它显示为 Gui 中的任何组件,它不重要但我不知道如何
-
@HovercraftFullOfEels 我有一个名为 deleteProducts 的表单,想在其中显示数组列表,当我将 Jlist 的模型制作为自定义代码时,它将在生成的代码中由 java 更改并编写jList1.setModel(Beverage.readBeverageTextFile("Beverage.txt").toArray() 并且无法尝试捕获文件未找到的异常。
标签: java swing arraylist drag-and-drop jlist