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!
1 curtida
vc está fazendo o formulário pra web, swing…???
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…
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!
[quote=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…[/quote]
o botão eu posso colocar qualquer um mesmo … o problema é que desconhece qualquer código de impressão !
para imprimir tem q ter uma tabela dae voce imprime essa tabela aqui o esquema de uma
private void preencheTabelaNomeProduto() {
DefaultTableModel modelo = new javax.swing.table.DefaultTableModel(
new Object [][] {},
new String [] {"Código", "Nome", "Quant_Estoque", "Valor_Unitario"}
);
ProdutoDao ProdutoD = new ProdutoDao();
tabela.setModel(modelo);
List<Produto> lista = ProdutoD.listar(campo_pra_pesquisaNome.getText());//
a linha acima é sua paesuisa tipo por nome por id por data e a abaixo sera preenchido a JTABLE com o retorno da pesquisa
for(Produto pro:lista) {
modelo.addRow(new String[] {
pro.getid_produto().toString(), pro.getnome_produto(), pro.getquant_produto().toString(), pro.getvalor_produto().toString() });
}
}
no action do botao voce fas isso e esta imprimido
try {
tabela.print();
} catch (PrinterException ex) {
JOptionPane.showMessageDialog(this, "Não foi possível imprimir\n" + ex.getMessage());
}
Como criar arquivos: http://www.guj.com.br/user.article.get.chain?page=1&article.id=13
Como imprimir: da uma procurada no guj… Com certeza deve ter…
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…
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 !
Voce pega os valores dos campos do formulario…
Coloca numa string… formata do jeito que quiser… e joga no arquivo…
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
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!
Classe TextFile simples que eu criei:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class TextFile
{
private String filename;
private String text;
public String getFilename()
{
return filename;
}
public String getText()
{
return text;
}
public void setText(String text)
{
this.text = text;
}
public void save() throws IOException
{
FileWriter fw = new FileWriter(filename);
fw.write(text);
fw.close();
}
public void saveAs(File file) throws IOException
{
saveAs(file.getAbsolutePath());
}
public void saveAs(String filename) throws IOException
{
FileWriter fw = new FileWriter(filename);
fw.write(text);
fw.close();
this.filename = filename;
}
public void open(String filename) throws FileNotFoundException, IOException
{
File file = new File(filename);
open(file);
}
public void open(File file) throws FileNotFoundException, IOException
{
BufferedReader br = new BufferedReader(new FileReader(file));
StringBuffer bufSaida = new StringBuffer();
for (String linha = br.readLine(); linha != null; linha = br.readLine()) {
bufSaida.append(linha);
bufSaida.append("\n");
}
br.close();
this.text = bufSaida.toString();
this.filename = file.getAbsolutePath();
}
}
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 texto
StringBuffer texto = new StringBuffer();
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
TextFile txtFile = new TextFile();
txtFile.setText(texto.toString());
// chooser para o usuario escolher o nome do arquivo
JFileChooser chooser = new JFileChooser();
if (chooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
try {
String filename = chooser.getSelectedFile().getAbsolutePath();
if (!filename.endsWith(".txt")) {
filename += ".txt";
}
txtFile.saveAs(filename);
} catch (Exception ex) {
ex.printStackTrace();
}
}
Ah! isso considerando que seu form tivesse os JTextFields codigoTextField, nomeTextField e enderecoTextField.
acredito que isso ajude…
vc pode melhorar esse algoritmo 
O que acham desse algoritmo … Bem básico …preparei apenas para teste …seria o actionPerformed do botão gerar arquivo …
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class Gravador
{
public static void main (String[] args)
{
ObjectOutputStream s;
FileOutputStream f;
String a;
a = “Teste \n Teste \n Teste”; //preparação da string que irá gerar o txt;
try {
f = new FileOutputStream("c:\\teste.txt", true); //local e nome do arquivo que sera gerado;
s = new ObjectOutputStream(f);
s.writeObject(a); //escreve no arquivo txt;
}
catch(IOException io )
{
System.out.println("Erro ao criar arquivo");
}
}
}
Dica: Se quiser algo bem prático para ler e escrever de/em Streams, procure sobre Scanner e PrintWritter.
[quote=Glauber Pardo]O que acham desse algoritmo … Bem básico …preparei apenas para teste …seria o actionPerformed do botão gerar arquivo …
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class Gravador
{
public static void main (String[] args)
{
ObjectOutputStream s;
FileOutputStream f;
String a;
a = “Teste \n Teste \n Teste”; //preparação da string que irá gerar o txt;
try {
f = new FileOutputStream("c:\\teste.txt", true); //local e nome do arquivo que sera gerado;
s = new ObjectOutputStream(f);
s.writeObject(a); //escreve no arquivo txt;
}
catch(IOException io )
{
System.out.println("Erro ao criar arquivo");
}
}
}[/quote]
alguem pode me falar se o código assim irá funcionar para gerar o txt e abrir em notepad
[quote=Glauber Pardo][quote=Glauber Pardo]O que acham desse algoritmo … Bem básico …preparei apenas para teste …seria o actionPerformed do botão gerar arquivo …
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class Gravador
{
public static void main (String[] args)
{
ObjectOutputStream s;
FileOutputStream f;
String a;
a = “Teste \n Teste \n Teste”; //preparação da string que irá gerar o txt;
try {
f = new FileOutputStream("c:\\teste.txt", true); //local e nome do arquivo que sera gerado;
s = new ObjectOutputStream(f);
s.writeObject(a); //escreve no arquivo txt;
}
catch(IOException io )
{
System.out.println("Erro ao criar arquivo");
}
}
}[/quote]
alguem pode me falar se o código assim irá funcionar para gerar o txt e abrir em notepad [/quote]
Sim, vai. Gera um arquivo txt comum, como se tivesse sido criado em um editor de texto do sistema operacional.
[quote=marcobiscaro2112]Veja um exemplo:
Arquivo JAR executável
Código fonte - classe JFrameGenerico
Código fonte - classe EditorDeTexto[/quote]
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!
O que quer dizer com formatada? Com várias fontes diferentes, negrito, itálico, etc.?