Pessoal este é meu primeiro tópico aqui no GUJ e tenho o seguinte problema.
quer ler um arquivo que contém várias linhas, cada linha representa um nome, exemplo
Paulo
João
Maria
…
queria fazer o seguinte:
No meu form eu tenho um JComboBox e sei que da pra passar um vetor para o comboBox como parâmetro, então eu queria ler o arquivo com o FileReader e BufferedReader e colocar em um vetor de String[] para passar para o JComboBox.
A partir do Java 5, a classe Scanner faz esse tipo de coisa com muito mais facilidade. Dê uma olhada!
xpaulinhox
Então, o tutorial que foi citado eu já li mas não explica como fazer o que eu quero.no tutorial é explicado como ler uma linha mas não explica como ler várias linha e coloca-las em um array.
com este código tem 2 problemas, o primeiro que eu tenho que citar um valor, sendo que se eu incluir mais nomes no arquivo eu vou ter que mudar o tamanho do vetor, daí pensei em colocar ao invés de vetor em um ArrayList, mas não consigo passar um ArrayList para o comboBox, e o outro problema é ta lendo apenas a primeira linha do arquivo.
e agora?
ViniGodoy
Carregue os nomes num ArrayList mesmo.
O DefaultComboBox model não aceita ArrayList. Você tem duas alternativas.
Usar o método toArray();
Fazer um ComboBox model que aceite ArrayList.
A primeira opção é mais fácil.
Mas a segunda é a melhor opção.
Uma vez pronto, você usa sempre esse combobox model e descarta o antigo.
E você pode adicionar métodos mais convenientes do que os atuais da combo.
ViniGodoy
PS: Se você tivesse seguido a minha dica e tivesse olhado a classe scanner, o seu método de leitura do arquivo estaria simples assim:
Atualizei o código ali em cima, para mostrar a parte da combo também.
Outra coisa. Não use o layout nulo. Procure algum gerenciador de layout como o gridbag, border e flowlayout. Ou use o Netbeans para fazer o layout para você.
O Null layout não permite que a janela seja redimensionada, não funciona em multiplos look&feel e não é multi-plataforma.
xpaulinhox
opa valew pelas dicas vini não sabia disto sobre os layouts é que eu uso o jigloo para layout mas vo tirar o nulo então.