文字列配列から Java awt リストを作成しようとしています。文字列配列は、.csv ファイルから値を取得します。(タイムゾーン) 例: オーストラリア、オーストラリアのメルボルン、ヨーロッパのシドニー、ロンドン
注: 2 つのリスト ボックスがあります。1 つ目は地域用、2 つ目は都市用です。アイデアは、ユーザーが最初のもので地域を選択した後、2 番目のものを更新することです。
これらの値からリストを作成できないようです
どんな助けでも感謝しますありがとう
String fileName = "C:\\Users\\Seb\\IdeaProjects\\TimeMachine\\src\\regions.csv";
File file = new File(fileName);
try {
Scanner inputStream = new Scanner(file);
inputStream.useDelimiter(System.getProperty("line.separator")); //Stops the white spaces creating a new entry in array
while (inputStream.hasNext()) {
String data = inputStream.next(); //gets the whole line
String[] arrayLocations = data.split(",");
System.out.println(arrayLocations[0]);
System.out.println(arrayLocations[1]);
listRegion = Arrays.asList(arrayLocations);
}
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
エラーが表示されますlistRegion = Arrays.asList(arrayLocations);
コード全体
import java.applet.Applet;
import java.awt.*;
import java.awt.List;
import java.io.*;
import java.util.Arrays;
import java.util.Scanner;
public class TimeMachine extends Applet
{
private List listRegion = new List();
private List listSubRegion = new List();
public void init ()
{
setLayout(new BorderLayout());
Panel buttons = new Panel(new BorderLayout());
buttons.setBackground(Color.cyan);
buttons.add(listRegion, BorderLayout.WEST);
buttons.add(listSubRegion, BorderLayout.CENTER);
add(buttons, BorderLayout.NORTH);
}
public void getLocationInfo()
{
String fileName = "C:\\Users\\Seb\\IdeaProjects\\TimeMachine\\src\\regions.csv";
File file = new File(fileName);
try {
Scanner inputStream = new Scanner(file);
inputStream.useDelimiter(System.getProperty("line.separator")); //Stops the white spaces creating a new entry in array
while (inputStream.hasNext()) {
String data = inputStream.next(); //gets the whole line
String[] arrayLocations = data.split(",");
System.out.println(arrayLocations[0]);
System.out.println(arrayLocations[1]);
listRegion = Arrays.asList(arrayLocations);
}
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}