oi pessoal
finalmente meu projeto está saindo do lugar…
mas estou com 2 dúvidas em relação a parte gráfica e como montá-la (usando netbeans)…
a primeira: não consigo vincular o filechooser! eu criei um jframe separado de tudo e fui no botão “procurar…” e cliquei vincular… ai escolhi essa jframe nova que eu criei… mas deu um monte de erros e não funcionou quando fui rodar… que mais tem que fazer? depois vou ter que linkar outras jframes a outros componentes também, o jeito é sempre o mesmo? e aproveitando, no site da sun não achei um método que retorne o path do arquivo que o usuário escolher… teria então que usar getName e getCurrentDirectory?
segunda: também no site da sun, percebi que jtextareas não tem métodos pra imprimir um arquivo na caixa de texto… o certo então é usar public void setDocument(Document doc) que ela herda? se sim, vou ter que dar uma olhada em como funciona a classe document né… =)
1 - Use o método getSelectedFile() de JFileChooser e a partir do File retornado, use o getPath(), getCanonicalPath(), e assim por diante.
2 - Quando a Document, acho (não tenho certeza) que não é para isso que serve. Você terá que fazer “manualmente”: abrir um FileInputStream, ou Scanner e ir lendo o arquivo (armazenando em um StringBuilder, por exemplo) para depois usar o setText() do componente de texto. É preciso entender o básico de I/O para realizar uma aplicação como essa.
obrigado pela resposta, mas você não respondeu a parte mais importante, que é exatamente como “linkar” a tela do filechooser com o botão… de preferência pelo netbeans…
bom, ninguém me respondeu, ai fui testando testando e cabei dando sorte…
parece que é bem mais fácil do que todo mundo achava… se você pega um File e der .toString nele, por algum motivo sai o path…
logo, fica:
jFileChooser1.showDialog(this, "OK");
File arquivo = jFileChooser1.getSelectedFile();
String path = arquivo.toString();
tá resolvido aí, se alguém mais tinha essa dúvida… =)
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
public class FileChooserDemo {
public static void main(String[] args) {
// cria um JFileChooser
JFileChooser jfc = new JFileChooser();
// muda o título
jfc.setDialogTitle("Exemplo");
// mostra um diálogo e verifica a resposta do usuário
int result = jfc.showDialog(null, "OK");
// se a resposta for APPROVE_OPTION mostra o arquivo
// senão mostra um erro
if (result == JFileChooser.APPROVE_OPTION) {
// pega o arquivo selecionado
File selected = jfc.getSelectedFile();
// e verifica se ele existe
if (!selected.exists()) {
showMessage("O arquivo selecionado não existe!");
} else {
showMessage("Você selecionou o arquivo "
+ selected.getAbsolutePath());
}
} else {
showMessage("Operação cancelada!");
}
}
private static void showMessage(String message) {
JOptionPane.showMessageDialog(null, message, "Informação",
JOptionPane.INFORMATION_MESSAGE);
}
}