How do I populate JComboBox from a text file?

2019-01-09 16:26发布

问题:

How do I populate a JComboBox from a text file?

回答1:

Very vague question. Are you saying you want one entry per line? If so you want to use something like a BufferedReader, read all the lines, save them as a String array. Create a new JComboBox passing in that String constructor.

BufferedReader input = new BufferedReader(new FileReader(filePath));
List<String> strings = new ArrayList<String>();
try {
  String line = null;
  while (( line = input.readLine()) != null){
    strings.add(line);
  }
}

catch (FileNotFoundException e) {
    System.err.println("Error, file " + filePath + " didn't exist.");
}
finally {
    input.close();
}

String[] lineArray = strings.toArray(new String[]{});

JComboBox comboBox = new JComboBox(lineArray);


回答2:

Here's an example that reads a properties file to get keys (for the combo) and values (for a text area). See enum Rule in the source.



回答3:

Break down your requirements into separate steps and the code will follow:

1) read a line of data from the file 2) use the JComboBox addItem(...) method to add the data to the combo box