Eu possuo um código que salva os dados inseridos em arquivo .txt, como posso fazer para um JComboBox ler esse arquivo separando as linhas ?
Isso pode ajudar: (faz um tempinho q nao pego em Java)
private List<String> readFile(File file) {
List<String> lines = new ArrayList<>();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
lines.add(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return lines;
}
private void fillComboBox() {
File file = new File("seu_arquivo.txt");
List<String> lines = readFile(file);
for (String line : lines) {
seuComboBox.addItem(line);
}
}
1 curtida
Outro exemplo usando a “nova” API:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.JFrame;
class Program {
public static void main(String... args) throws IOException {
List<String> lines = Files.readAllLines(Path.of("dados.txt"));
JComboBox<String> comboBox = new JComboBox<>(lines.toArray(String[]::new));
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(comboBox);
frame.setSize(300, 300);
frame.setVisible(true);
}
}
Este é o conteúdo de dados.txt
:
aaa
bbb
ccc
ddd
3 curtidas
pô que top, nao conhecia o readAllLines, é um adianto gigante
1 curtida