Acredito que minha duvida aqui seja muito simples …bom o problema é o seguinte…
Estou criando um formulario no netbeans …e após a pessoa preencher esse formulario deve existir um botão para gerar qualquer arquivo de texto ou um botão para impressão deste formulario preenchido !
Espero q possam ajudar levando em conta que sou muito iniciante em java!
Obrigado!
No netbeans acho que você pode adicionar o botão na tela…
Aí acho que você da 2 cliques no botão e vai pro código… Não tenho certeza porque não uso o netbeans…
No código você coloca o comando que quiser pra gerar o arquivo… impressão…
G
Glauber_Pardo
Estou fazendo swing…
queria gerar um txt com tds as informações q foram preenchidas … uma especie de botão “submit” soh q as informações devem gerar um arquivo e n ir para um banco … gostaria tbm de um segundo bota que ao clicar ele imprimir em A4 básico todo o formulario swing preenchido !
Obrigado!
G
Glauber_Pardo
igor.schkrab:
No netbeans acho que você pode adicionar o botão na tela…
Aí acho que você da 2 cliques no botão e vai pro código… Não tenho certeza porque não uso o netbeans…
No código você coloca o comando que quiser pra gerar o arquivo… impressão…
o botão eu posso colocar qualquer um mesmo … o problema é que desconhece qualquer código de impressão !
Como imprimir: da uma procurada no guj… Com certeza deve ter…
C
cabelograff
blz então, procure pelo forum alguma coisa do tipo “como gerar um .txt” então use o evento do botão para gerar esse .txt.
Agora o botão de imprimir não é tão simples assim, veja q tipo de impressora vc tem instalado na sua máquina, se é em rede, se é local, se é usb ou se é cabo paralelo, quando eu fiz uma vez isso, já faz um tempo eu criei uma classe chamada Print onde continha um método q por parametro recebia uma string para ser impressa, já resolveu o meu problema.
flw…
G
Glauber_Pardo
O que eu n estou conseguindo entneder eh como gerar o txt com o formulario preenchido … pelo que eu percebi da pra criar com o fileOutputSetream o vc passa o que sera escrito no arquivo txt … eu gostaria q ele jogasse o formulario swing direto para txt sem ter que passar campo a campo como parametro !
igor.schkrab
Voce pega os valores dos campos do formulario…
Coloca numa string… formata do jeito que quiser… e joga no arquivo…
marcosharbs
vc vai ter que criar uma rotina dai que recebe um frame como parametro extrai as informaçoes e ai salva elas no txt, vc so tem como salvar texto no txt vai te que pega as informaçoes gera uma string formatada e tal e ai salva no tx
G
Glauber_Pardo
blza assim que possivel vou tentar fazer isto… o grande problema é o tamanho do formulario …vcs tem algum exemplo em que a pessoa prepare a string e dpos jogue em um txt …ou algo do tp … vai ser bem util !
Obrigado a todos!
no seu código (dentro do ActionListener do botao), crie uma string contendo o texto que vc quer para o arquivo e ponha em um objeto TextFile:
ajuste os imports usando sua IDE
// cria o textoStringBuffertexto=newStringBuffer();texto.append("Código: ");texto.append(codigoTextField.getText()+"\n");texto.append("Nome: ");texto.append(nomeTextField.getText()+"\n");texto.append("Endereco: ");texto.append(enderecoTextField.getText()+"\n");// prepara o textfile TextFiletxtFile=newTextFile();txtFile.setText(texto.toString());// chooser para o usuario escolher o nome do arquivo JFileChooserchooser=newJFileChooser();if(chooser.showSaveDialog(null)==JFileChooser.APPROVE_OPTION){try{Stringfilename=chooser.getSelectedFile().getAbsolutePath();if(!filename.endsWith(".txt")){filename+=".txt";}txtFile.saveAs(filename);}catch(Exceptionex){ex.printStackTrace();}}
Ah! isso considerando que seu form tivesse os JTextFields codigoTextField, nomeTextField e enderecoTextField.
acredito que isso ajude…
vc pode melhorar esse algoritmo
G
Glauber_Pardo
O que acham desse algoritmo … Bem básico …preparei apenas para teste …seria o actionPerformed do botão gerar arquivo …
publicclassGravador{publicstaticvoidmain(String[]args){ObjectOutputStreams;FileOutputStreamf;Stringa;a=“Teste\nTeste\nTeste”;//preparação da string que irá gerar o txt;
try{f=newFileOutputStream("c:\\teste.txt",true);//local e nome do arquivo que sera gerado;s=newObjectOutputStream(f);s.writeObject(a);//escreve no arquivo txt;}catch(IOExceptionio){System.out.println("Erro ao criar arquivo");}}
}
M
marcobiscaro2112
Dica: Se quiser algo bem prático para ler e escrever de/em Streams, procure sobre Scanner e PrintWritter.
G
Glauber_Pardo
Glauber Pardo:
O que acham desse algoritmo … Bem básico …preparei apenas para teste …seria o actionPerformed do botão gerar arquivo …
publicclassGravador{publicstaticvoidmain(String[]args){ObjectOutputStreams;FileOutputStreamf;Stringa;a=“Teste\nTeste\nTeste”;//preparação da string que irá gerar o txt;
try{f=newFileOutputStream("c:\\teste.txt",true);//local e nome do arquivo que sera gerado;s=newObjectOutputStream(f);s.writeObject(a);//escreve no arquivo txt;}catch(IOExceptionio){System.out.println("Erro ao criar arquivo");}}
}
alguem pode me falar se o código assim irá funcionar para gerar o txt e abrir em notepad
M
marcobiscaro2112
Glauber Pardo:
Glauber Pardo:
O que acham desse algoritmo … Bem básico …preparei apenas para teste …seria o actionPerformed do botão gerar arquivo …
publicclassGravador{publicstaticvoidmain(String[]args){ObjectOutputStreams;FileOutputStreamf;Stringa;a=“Teste\nTeste\nTeste”;//preparação da string que irá gerar o txt;
try{f=newFileOutputStream("c:\\teste.txt",true);//local e nome do arquivo que sera gerado;s=newObjectOutputStream(f);s.writeObject(a);//escreve no arquivo txt;}catch(IOExceptionio){System.out.println("Erro ao criar arquivo");}}
}
alguem pode me falar se o código assim irá funcionar para gerar o txt e abrir em notepad
Sim, vai. Gera um arquivo txt comum, como se tivesse sido criado em um editor de texto do sistema operacional.
agradeco muito a sua ajuda …
infelizmente n tenho conhecimento bastante para entender seu código !
gostaria soh que me informaçe se o código na qual eu criei acima pode servir para escrever uma string formatada!
M
marcobiscaro2112
O que quer dizer com formatada? Com várias fontes diferentes, negrito, itálico, etc.?
G
Glauber_Pardo
Sim, na verdade n tenho necessidade de formatala em negrito …
minha necessidade eh apenas gera-la
eu queria saber se este meu codigo esta ok?..alguem pode testar para mim por favor
M
marcobiscaro2112
Funciona, em partes. Acontece que ao usar ObjectOutputStream, o Java grava a String como um objeto para futuro carregamento em outros programas, ou seja, não é um arquivo de texto comum. A saída é:
Caracteres estranhos! Sugiro que use a classe PrintWriter. Vou mostrar um exemplo. Outra coisa importante é que feche a saída de dados ao terminar.
importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.PrintWriter;publicclassGravador{publicstaticvoidmain(String[]args){PrintWriters=null;FileOutputStreamf=null;Stringa=null;a="Teste \n Teste \n Teste";// preparação da string que irá gerar o// txt;try{f=newFileOutputStream("teste.txt",true);// local e nome do// arquivo que sera// gerado;s=newPrintWriter(f);s.write(a);// escreve no arquivo txt;System.out.println("Arquivo gravado com sucesso!");// avisa o// usuário que// foi gravado!}catch(IOExceptionio){System.err.println("Erro ao criar arquivo");// use a saída// System.err para// mostrar erros}finally{if(s!=null){s.close();// IMPORTANTE! SEMPRE FECHE A SAÍDA!}}}}
G
Glauber_Pardo
marcobiscaro2112:
Funciona, em partes. Acontece que ao usar ObjectOutputStream, o Java grava a String como um objeto para futuro carregamento em outros programas, ou seja, não é um arquivo de texto comum. A saída é:
’
Caracteres estranhos! Sugiro que use a classe PrintWriter. Vou mostrar um exemplo. Outra coisa importante é que feche a saída de dados ao terminar.
importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.PrintWriter;publicclassGravador{publicstaticvoidmain(String[]args){PrintWriters=null;FileOutputStreamf=null;Stringa=null;a="Teste \n Teste \n Teste";// preparação da string que irá gerar o// txt;try{f=newFileOutputStream("teste.txt",true);// local e nome do// arquivo que sera// gerado;s=newPrintWriter(f);s.write(a);// escreve no arquivo txt;System.out.println("Arquivo gravado com sucesso!");// avisa o// usuário que// foi gravado!}catch(IOExceptionio){System.err.println("Erro ao criar arquivo");// use a saída// System.err para// mostrar erros}finally{if(s!=null){s.close();// IMPORTANTE! SEMPRE FECHE A SAÍDA!}}}}
Vou testar assim que chegar em casa !...muito obrigado pela ajuda de tds !
G
Glauber_Pardo1 like
excelente o cod funcionou mesmo !
Agora vmos as particularidades tem como eh colocar Negrito / italico quando formatar a string …
algo do tipo :
String a = “Nome: Pedro Nunes \n Idade:”;
acho q deu pra entender…e outra coisa que preciso eh salvar o arquivo q no caso desse código “Teste.txt” ou abrir um tela para que o usuario escoha onde ira salvar ou um caminho padrao por exemplo Desktop
Agradeço a todos que ajudaram …Estou muito satisfeito com a qualidade do forum !
abraço a tds!
M
marcobiscaro21121 like
Acontece que em arquivos txt não é possível aplicar formatação em apenas parte do texto (tente fazer isso no editor de texto do seu sistema operacional e não vai conseguir…). Quando ao escolher onde salvar o arquivo, existe uma classe no pacote javax.swing chamada JFileChooser, que com certeza vai ajudar muito, Veja esse tutorial e se tiver dúvidas poste aqui.