Método JasperPrint em NetBeans não aceita parâmetro de filtro

7 respostas Resolvido
back-endnetbeansjavadesktopireport
H

Olá comunidade programadora, estou perto de finalizar este projeto de aplicativo CRUD de Ordens de Serviços, feito em JDK 8, NetBeans 8.2, integração com banco de dados MySql e desenvolvimento de relatório de ordens de serviço com IReport Designer 5.6.0 com JDK 7.8;

Falta apenas o botão “Print” de Relatório para Ordens de Serviço funcionar também com o parâmetro estabelecido no seguinte método:

NetBeans Print2

Parâmetro IReport Designer

O que pode ser feito? (Detalhe: com parâmetro “null” o erro não aparece e o botão “Print” funciona, apenas com Relatório sem páginas) Agradeço desde já!

7 Respostas

S

Dá próxima vez posta o seu código ao invés de imagens, é muito ruim ter que redigitar o fonte a partir de imagens.

Leu a mensagem da exceção?
Lá está bem claro:
(argument mismatch, HashMap cannot be converted to Map<String, Object>)

Ao invés de declarar assim:

HashMap filter = new HashMap();

Declare assim:

Map<String, Object> filter = new HashMap<>();
H

Meus cumprimentos staroski, excelentes dicas, estamos quase alcançando a linha de chegada, com respeito a este método:

Map<String, Object> filter = new HashMap<>();

Como faz para preencher os requisitos de uso? O que se deve colocar em “String, Object”?

S

Simplesmente escreve a linha exatamente do jeito que foi postado.

Ao invés de declarar assim:

HashMap filter = new HashMap();

Declare assim:

Map<String, Object> filter = new HashMap<>();
H

Após realizar as mudanças o erro apontado em vermelho no código é este:

cannot infer type arguments for HashMap
  reason: cannot use '<>' with non-generic class HashMap

Rapaz, agora fiquei intrigado, o que pode ser essa classe genérica?

H
Solucao aceita

Acabei de encontrar o motivo do desencontro de informações, a biblioteca abaixo estava sendo utilizada:

import org.hsqldb.lib.HashMap;

A biblioteca adequada que corrige o problema:

import java.util.HashMap;

Muito obrigado pelo apoio staroski, me ajudou demais, continue ajudando mais pessoas a progamarem um bom futuro!

S

Classe genérica é qualquer classe/interface que aceita tipos genéricos.
No seu caso, como estava importando a classe HashMap de um pacote diferente, o compilador estava te avisando que aquela classe não era genérica, por isso não podia usar os tipos genéricos.

H

Realmente, acabou a charada e ainda consegui terminar o projeto, sou muito grato mesmo!

Criado 10 de dezembro de 2024
Ultima resposta 11 de dez. de 2024
Respostas 7
Participantes 2