Criei uma classe ImprimePedido mas ela não pode ser importada, será que é algum erro na classe ou o problema é no NetBeans? Veja a classe abaixo:
packageempresaiv;importcom.lowagie.text.Document;importcom.lowagie.text.Paragraph;importcom.lowagie.text.pdf.PdfWriter;importjava.io.FileOutputStream;importjava.util.ArrayList;importmodel.ItensPedidoClienteEstendida;importmodel.PedidosCliente;/** * * Autor: Ronaldo Rodrigues Godoi * */publicclassImprimePedido{publicImprimePedido(PedidosClientepedidoCliente,ArrayList<ItensPedidoClienteEstendida>itensPedido){DocumentdocumentPDF=newDocument();try{PdfWriter.getInstance(documentPDF,newFileOutputStream("PedidoCliente.pdf"));documentPDF.open();Paragraphcabecalho=newParagraph("Número do pedido: "+pedidoCliente.getId()+"\n"+" Id Cliente: "+pedidoCliente.getId_cliente()+" Confição de pagamento: "+pedidoCliente.getCondicao_pag()+" Id Endereço de entrega: "+pedidoCliente.getId_endereco_entrega()+" Data do Pedido: "+pedidoCliente.getData_pedido());documentPDF.add(cabecalho);intcont=itensPedido.size();documentPDF.add(newParagraph(" "));doublevalorTotal=0;for(inti=1;i<cont;i++){ParagraphcorpoPedido=newParagraph(itensPedido.get(i).getId_produto()+" "+itensPedido.get(i).getDescricao_produto()+" "+itensPedido.get(i).getQuantidade()+" "+itensPedido.get(i).getPreco()+" "+itensPedido.get(i).getQuantidade()*itensPedido.get(i).getPreco());valorTotal=valorTotal+itensPedido.get(i).getQuantidade()*itensPedido.get(i).getPreco();documentPDF.add(corpoPedido);}documentPDF.add(newParagraph(" "));Paragraphtotalizacao=newParagraph("Valor total: "+valorTotal);documentPDF.add(totalizacao);}catch(Exceptionerro){erro.printStackTrace();}documentPDF.close();}}
talvez tenha um pacote dentro do outro e o caminho não esteja completo, não consegui ver com a foto. Mas qual erro ta dando?
anyblueangel3
Ele não reconhece a classe ImprimePedido como fazendo parte do package. Não vê a classe.
O que eu posso fazer no netbeans para ele reconhecer a classe?
Gabriel432135
faz um teste: Tente implementar essa classe e deixe ele importar sozinho. Se não der certo, pode ser erro no NetBeans mesmo. Entre nos arquivos do projeto e veja se essa classe ta lá. Se tiver, tente fechar e abrir novamente o netbeans
staroski
Posta a mensagem de erro exata que o NetBeans está apresentando pra você.
anyblueangel3
Ele diz que ImprimePedido não existe!!! Não sei mais o que fazer. Esse tipo de erro começou depois que eu importei um arquivo zip de relatório pdf.
Veja a mensagem de erro:
Gabriel432135
Isso é muito estranho. Esse zip que vc importou é o que?
Gabriel432135
faça um teste: Tente criar outra classe dentro desse pacote, com a mesma coisa dentro, e tente importar. Se não der certo, tente importar outra classe desse pacote só pra ver o que acontece. Pode ser um erro de cache do netbeans.
anyblueangel3
Acho que é erro no cache do netbeans. Depois que fiz a importação o netbeans mudou o menu do botão esquerdo, quando tento criar uma classe nova em uma pasta o netbeans não exibe mais a opção para classe nova e eu tenho que criar um arquivo vazio e dar nome com a extensão java. Não sei, mas parece que ele mudou o tipo de projeto para maven.
staroski
A classe ImprimePedido está em ordem?
Ela não está com erros de compilação?
Gabriel432135
Com certeza é esse zip o erro. Não sei o que ele é mas pode ser que tenha bugado o netbeans. Eu tentaria criar outro projeto e pegar suas coisas e passar tudo pra ele.
anyblueangel3
Essa classe não apresenta erro de compilação.
davidbuzatto1 like
Tenta Ctrl+Shift+I no arquivo. Ele vai corrigir os imports, tirando os desnecessários. As versões mais novas do NetBeans estão meio estranhas em algumas situações. Eu tenho um problema crônico em um projeto meu por exemplo que eu tenho que fechar o NetBeans para algumas classes serem atualizadas na hora de compilar. Esse problema de não encontrar uma classe acontece tbm.
Enfim, testa o atalho que te passei. Se não resolver, renomeia a classe ImprimePedido. Seleciona ela do lado esquerdo, tecla F2, troca o nome, sei lá, põe um X no final, algo assim ImprimePedidoX, manda refatorar e vê se resolve. Se resolver, aí volta para o nome anterior.
Surgiu um erro de compilação assim: operador diamante não pode ser usado com -source 5 só pode ser usado com -source 7 em diante. O que isto quer dizer?
Tentei o Ctrl+Shift+I mas não deu certo.
Gabriel432135
Eu to achando que é isso mesmo. Ele parece ser uma biblioteca pensada no Maven, tanto é que ele pede pra vc colocar lá as dependências no pom.xml. Tente fazer o que o [davidbuzatto] falou. Se não der certo, tente levar seu projeto pro Maven. Não sei se é viável pra vc fazer isso mas, tente criar o projeto novamente só que com o Maven. Mudar de um pro outro pode ter quebrado seu projeto. Aí vc pega suas classes e importa pra esse novo projeto.
anyblueangel3
Bom, eu segui as orientações do Gabriel e ele começou a reconhecer a Classe ImprimePedido mas não reconheceu os import(s) como por exemplo o import com.lowagie.text.Document;
Então o programa roda mas com erro de compilação. A grande dúvida é como usar o projeto de PDF LibrePDF/OpenPDF que está disponível no github. Alguém pode me ajudar com isso?
staroski
Se seu projeto não é Maven, modifique para ser um projeto Maven e faça exatamente o que consta no texto da página inicial do GitHub: adicionar a dependência a seguir:
Parece que deu certo, não tem mais nenhum erro no pom.xml. Agora gostaria que vocês me dissessem como adiciono um driver .jar ao projeto maven, porque tentei de todas as formas e não consegui. Parece que só falta o driver para ele conseguir abrir o programa.
O nome do driver é mysql-connector-java-8.0.25.jar e está gravado em um diretório da minha máquina.
Alguém pode me ajudar?
Aqui vai a árvore do projeto, em qual pasta devo colocar e como?
Atenciosamente,
Ronaldo
Gabriel432135
Eu nunca fiz isso antes, mas acho que vc pode fazer isso assim:
Faz igual o staroski falou, pq o maven, diferente do ant, baixa automaticamente as bibliotecas. A gente só precisa adicionar as dependências. Só faça aquilo que falei caso seja um jar pessoal ou algo assim.
anyblueangel33 likes
Staroski, deu certinho…
Muito obrigado.
Obrigado a você Gabriel, também.