Erro: Java.Lang.UnsuportedOperationException: Not Supported Yet

30 respostas
Samuel_Ribeiro

_Boa Tarde, ha algum tempo não posto nenhum tópico neste fórum, estava dando um tempo em programação mas é o que gosto mesmo não tem jeito. Estou tentando abrir um relatório feito em jaspersoft studio via netbeans mas esta dando o erro conforme titulo. segue o código abaixo e imagem do erro.

` private void menRelCliActionPerformed(java.awt.event.ActionEvent evt) {
// Gerando um relatório de Clientes

int confirma = JOptionPane.showConfirmDialog(null, "Confirma a impressão do relatório de Cliente?", "Atenção", JOptionPane.YES_NO_OPTION);
if (confirma == JOptionPane.YES_OPTION) {
    // Imprimindo o relatório de Clentes com o framework jaspersoft studio
    try {

	JasperPrint print = jasperFillManager.fillReport("C:/reports/clientes.jasper", null, conexao);
	JasperViewer.viewReport(print, false);
	
    } catch (Exception e) {
	JOptionPane.showInputDialog(null, e);
    }
}

}

Erro_Abrir_Relatorio.pdf (438,9 KB)
` _

30 Respostas

Samuel_Ribeiro

Sera que alguém ja viu algo parecido com este erro?

staroski

Põe um printStackTrace no seu tratamento de exceção.
Assim descobrimos onde está acontecendo o problema.

Samuel_Ribeiro

Bom dia staroski
Coloquei o comando conforme me orientou, e me retornou o seguinte:

java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: br.com.osiris.telas.jasperFillManager.fillReport

at br.com.osiris.telas.TelaPrincipal.menRelCliActionPerformed(TelaPrincipal.java:268)

at br.com.osiris.telas.TelaPrincipal.access$400(TelaPrincipal.java:22)

at br.com.osiris.telas.TelaPrincipal$5.actionPerformed(TelaPrincipal.java:136)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.AbstractButton.doClick(AbstractButton.java:376)

at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)

at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)

at java.awt.Component.processMouseEvent(Component.java:6533)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)

at java.awt.Component.processEvent(Component.java:6298)

at java.awt.Container.processEvent(Container.java:2236)

at java.awt.Component.dispatchEventImpl(Component.java:4889)

at java.awt.Container.dispatchEventImpl(Container.java:2294)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)

at java.awt.Container.dispatchEventImpl(Container.java:2280)

at java.awt.Window.dispatchEventImpl(Window.java:2746)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)

at java.awt.EventQueue.access$500(EventQueue.java:97)

at java.awt.EventQueue$3.run(EventQueue.java:709)

at java.awt.EventQueue$3.run(EventQueue.java:703)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)

at java.awt.EventQueue$4.run(EventQueue.java:731)

at java.awt.EventQueue$4.run(EventQueue.java:729)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

CONSTRUÍDO COM SUCESSO (tempo total: 24 segundos)
darlan_machado

Isso deveria te dizer algo: uncompilable source = código fonte não compilável.
Qual código fonte? TelaPrincipal
Por quê? Veja a linha 268 do teu código.

Normalmente as IDEs (Eclipse, Netbeans, JDeveloper, IntelliJ) destacam códigos não compiláveis.

Samuel_Ribeiro

texto em itálico Bom dia Darlan_Machado
Entendi, sera por causa do gerador de relatórios, o exemplo de onde estou tirando esta sistema usa o IReport, mas estou usando o jaspersoft studio.
Faz alguma diferença por ser o mesmo software?
Sera que as bibliotecas são diferentes?
Me confundiu bastante.

darlan_machado

Pode ser.
Como pode ser a falta de um “;” (ponto e vírgula) ao fim de uma linha.
Você poderia postar o código e destacar a linha em questão, isso facilitaria as coisas e poderíamos deixar de conjecturas e partir para algo mais efetivo.
Com relação ao uso de iReport ou jaspersoft studio, o mais comum é ocorrer incompatibilidade de versões (você tentar usar algo que estava disponível no ireport e que com o studio ficou obsoleto).

Samuel_Ribeiro

No meu Windows 10, java 8 o IReport nem abre.

package br.com.osiris.telas;
import br.com.osiris.dal.ModuloConexao;

import java.text.DateFormat;

import java.util.Date;

import javax.swing.JOptionPane;

import java.sql.*;

import net.sf.jasperreports.engine.JasperFillManager;

import static net.sf.jasperreports.engine.JasperFillManager.fillReport;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperPrintManager;

import net.sf.jasperreports.view.JasperViewer;

/**
*

  • @author samue
    */
    public class TelaPrincipal extends javax.swing.JFrame {

    Connection conexao = null;

    /**

    • Creates new form TelaPrincipal
      */
      public TelaPrincipal() {
      initComponents();
      conexao = ModuloConexao.conector();
      }

    /**

    • This method is called from within the constructor to initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is always

    • regenerated by the Form Editor.
      
      */
      
      @SuppressWarnings(unchecked)
      
      // 
      
      private void initComponents() {
      
      jLabel2 = new javax.swing.JLabel();
      
      Desktop = new javax.swing.JDesktopPane();
      
      lblUsuario = new javax.swing.JLabel();
      
      lblData = new javax.swing.JLabel();
      
      jLabel3 = new javax.swing.JLabel();
      
      jLabel1 = new javax.swing.JLabel();
      
      Menu = new javax.swing.JMenuBar();
      
      MenCad = new javax.swing.JMenu();
      
      MenCadCli = new javax.swing.JMenuItem();
      
      MenCadOs = new javax.swing.JMenuItem();
      
      MenCadUsu = new javax.swing.JMenuItem();
      
      MenRel = new javax.swing.JMenu();
      
      menRelCli = new javax.swing.JMenuItem();
      
      MenRelSer = new javax.swing.JMenuItem();
      
      MenAju = new javax.swing.JMenu();
      
      MenAjuSob = new javax.swing.JMenuItem();
      
      MenOpc = new javax.swing.JMenu();
      
      MenOpcSai = new javax.swing.JMenuItem();
      

      jLabel2.setText(“jLabel2”);

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      
      setTitle(Sistema para controle de Ordem de Serviços.);
      
      setResizable(false);
      
      addWindowListener(new java.awt.event.WindowAdapter() {
      
      public void windowActivated(java.awt.event.WindowEvent evt) {
      
      formWindowActivated(evt);
      
      }
      
      });
      

      Desktop.setPreferredSize(new java.awt.Dimension(730, 450));

      javax.swing.GroupLayout DesktopLayout = new javax.swing.GroupLayout(Desktop);
      
      Desktop.setLayout(DesktopLayout);
      
      DesktopLayout.setHorizontalGroup(
      
      DesktopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGap(0, 730, Short.MAX_VALUE)
      
      );
      
      DesktopLayout.setVerticalGroup(
      
      DesktopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGap(0, 450, Short.MAX_VALUE)
      
      );
      

      lblUsuario.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N
      lblUsuario.setText(“Usuário”);

      lblData.setFont(new java.awt.Font(Tahoma, 1, 24)); // NOI18N
      
      lblData.setForeground(new java.awt.Color(0, 0, 153));
      
      lblData.setText(Data);
      

      jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/osiris/icones/if_package_system_6616.png"))); // NOI18N

      jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/osiris/icones/at.jpg"))); // NOI18N

      MenCad.setText(“Cadastro”);

      MenCadCli.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_MASK));
      
      MenCadCli.setText(Clientes);
      
      MenCadCli.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      MenCadCliActionPerformed(evt);
      
      }
      
      });
      
      MenCad.add(MenCadCli);
      
      MenCadOs.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.ALT_MASK));
      
      MenCadOs.setText(Ordem de Serviços);
      
      MenCadOs.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      MenCadOsActionPerformed(evt);
      
      }
      
      });
      
      MenCad.add(MenCadOs);
      
      MenCadUsu.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_U, java.awt.event.InputEvent.ALT_MASK));
      
      MenCadUsu.setText(Usuários);
      
      MenCadUsu.setEnabled(false);
      
      MenCadUsu.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      MenCadUsuActionPerformed(evt);
      
      }
      
      });
      
      MenCad.add(MenCadUsu);
      

      Menu.add(MenCad);

      MenRel.setText(“Relatórios”);
      MenRel.setEnabled(false);

      menRelCli.setText(Cliente);
      
      menRelCli.setToolTipText("");
      
      menRelCli.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      menRelCliActionPerformed(evt);
      
      }
      
      });
      
      MenRel.add(menRelCli);
      
      MenRelSer.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_MASK));
      
      MenRelSer.setText(Serviços);
      
      MenRel.add(MenRelSer);
      

      Menu.add(MenRel);

      MenAju.setText(“Ajuda”);

      MenAjuSob.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
      
      MenAjuSob.setText(Sobre);
      
      MenAjuSob.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      MenAjuSobActionPerformed(evt);
      
      }
      
      });
      
      MenAju.add(MenAjuSob);
      

      Menu.add(MenAju);

      MenOpc.setText(“Opções”);

      MenOpcSai.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, java.awt.event.InputEvent.ALT_MASK));
      
      MenOpcSai.setText(Sair);
      
      MenOpcSai.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      MenOpcSaiActionPerformed(evt);
      
      }
      
      });
      
      MenOpc.add(MenOpcSai);
      

      Menu.add(MenOpc);

      setJMenuBar(Menu);

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      
      getContentPane().setLayout(layout);
      
      layout.setHorizontalGroup(
      
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(layout.createSequentialGroup()
      
      .addContainerGap()
      
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      
      .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 147, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addGroup(layout.createSequentialGroup()
      
      .addComponent(Desktop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addComponent(lblData)
      
      .addComponent(lblUsuario)
      
      .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 271, javax.swing.GroupLayout.PREFERRED_SIZE))))
      
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      
      );
      
      layout.setVerticalGroup(
      
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(layout.createSequentialGroup()
      
      .addContainerGap()
      
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(layout.createSequentialGroup()
      
      .addComponent(Desktop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addGap(0, 0, Short.MAX_VALUE))
      
      .addGroup(layout.createSequentialGroup()
      
      .addComponent(lblUsuario)
      
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      
      .addComponent(lblData)
      
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      
      .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 7, Short.MAX_VALUE)
      
      .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)))
      
      .addContainerGap())
      
      );
      
      setSize(new java.awt.Dimension(1037, 539));
      
      setLocationRelativeTo(null);
      
      }//
      
    private void formWindowActivated(java.awt.event.WindowEvent evt) {
    
    // A linha abaixo substitui a label lbldata pela data atual
    
    // do sistema ao iniciar o form
    
    Date data = new Date();
    
    DateFormat formatador = DateFormat.getDateInstance(DateFormat.SHORT);
    
    lblData.setText(formatador.format(data));
    

    }

    private void MenOpcSaiActionPerformed(java.awt.event.ActionEvent evt) {
    
    // Exibe uma caixa de dialogo
    
    int sair = JOptionPane.showConfirmDialog(null, Você tem certeza que deseja sair do sistema!!, Atenção!!, JOptionPane.YES_NO_OPTION);
    
    if (sair == JOptionPane.YES_OPTION) {
    
    System.exit(0);
    
    }
    

    }

    private void MenAjuSobActionPerformed(java.awt.event.ActionEvent evt) {
    
    // Chamando a tela Sbre
    
    TelaSobre sobre = new TelaSobre();
    
    sobre.setVisible(true);
    
    }
    
    private void MenCadUsuActionPerformed(java.awt.event.ActionEvent evt) {
    
    // As linhas abaixo vão abrir o form Tela Usuário dentro do DesktopPane
    
    TelaUsuario usuario = new TelaUsuario();
    
    usuario.setVisible(true);
    
    Desktop.add(usuario);
    
    }
    
    private void MenCadCliActionPerformed(java.awt.event.ActionEvent evt) {
    
    // Chamando a TelaCliente:
    
    TelaCliente cliente = new TelaCliente();
    
    cliente.setVisible(true);
    
    Desktop.add(cliente);
    
    }
    
    private void MenCadOsActionPerformed(java.awt.event.ActionEvent evt) {
    
    // Chamando a Tela de Abertura de Ordem de Serviços
    
    TelaOs os = new TelaOs();
    
    os.setVisible(true);
    
    Desktop.add(os);
    
    }
    

    private void menRelCliActionPerformed(java.awt.event.ActionEvent evt) {
    // Gerando um relatório de Clientes

    int confirma = JOptionPane.showConfirmDialog(null, Confirma a impressão do relatório de Cliente?, Atenção, JOptionPane.YES_NO_OPTION);
    
    if (confirma == JOptionPane.YES_OPTION) {
    
    // Imprimindo o relatório de Clentes com o framework jaspersoft studio
    
    try {
    
    JasperPrint print = jasperFillManager.fillReport("C:/reports/clirntes.jasper", null,conexao);
                 JasperViewer.viewReport(print, false);
         
        } catch (Exception e) {
     e.printStackTrace();
     //JOptionPane.showInputDialog(null, e);
     }
    

    }

    }

    /**

    • @param args the command line arguments
      /
      public static void main(String args[]) {
      /
      Set the Nimbus look and feel /
      //
      /
      If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
      • For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
        */
        try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if (“Nimbus”.equals(info.getName())) {
        javax.swing.UIManager.setLookAndFeel(info.getClassName());
        break;
        }
        }
        } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //
    /* Create and display the form */
    
    java.awt.EventQueue.invokeLater(new Runnable() {
    
    public void run() {
    
    new TelaPrincipal().setVisible(true);
    
    }
    
    });
    
    }
    
    // Variables declaration - do not modify
    
    private javax.swing.JDesktopPane Desktop;
    
    private javax.swing.JMenu MenAju;
    
    private javax.swing.JMenuItem MenAjuSob;
    
    private javax.swing.JMenu MenCad;
    
    private javax.swing.JMenuItem MenCadCli;
    
    private javax.swing.JMenuItem MenCadOs;
    
    public static javax.swing.JMenuItem MenCadUsu;
    
    private javax.swing.JMenu MenOpc;
    
    private javax.swing.JMenuItem MenOpcSai;
    
    public static javax.swing.JMenu MenRel;
    
    private javax.swing.JMenuItem MenRelSer;
    
    private javax.swing.JMenuBar Menu;
    
    private javax.swing.JLabel jLabel1;
    
    private javax.swing.JLabel jLabel2;
    
    private javax.swing.JLabel jLabel3;
    
    private javax.swing.JLabel lblData;
    
    public static javax.swing.JLabel lblUsuario;
    
    private javax.swing.JMenuItem menRelCli;
    
    // End of variables declaration
    
    }
    

Ai esta todo o código da classe telaPrincipal.
Ja pesquisei em vários fóruns, é um erro incomum.

Samuel_Ribeiro

O erro só acontece no momento de abrir o relatório

darlan_machado

E qual é a linha 268???

Samuel_Ribeiro

Nesta linha em destaque.

darlan_machado
JasperPrint print = jasperFillManager.fillReport(C:/reports/clirntes.jasper, null,conexao);

O problema é que você não tem um objeto, uma variável chamada “jasperFillManager”. Ela é uma classe que contém métodos estáticos, dentre eles, este “fillReport” (que é sobrecarregado) que você está tentando usar.
O correto é escrever, portanto, esta classe com a primeira letra maiúscula.
Veja, isso pode resolver o problema de compilação e permitir que execute o sistema, porém, pode haver outros erros ocultos, ok?

JasperPrint print = JasperFillManager.fillReport("C:/reports/clirntes.jasper", null,conexao);
JasperViewer.viewReport(print, false);

Ressaltando, você colocou jasperFillManager e deve ser **J**asperFillManager

Samuel_Ribeiro

Boa tarde Darlan
não funcionou não, veja como ficou o código, e continua dando o mesmo erro

JasperPrint print = JasperFillManager.fillReport("C:/reports/clientes.jasper", null,conexao);
                JasperViewer.viewReport(print, false);

este ta complicado

darlan_machado

Você está desenvolvendo este projeto com base em que?
Apostila, livro, tutorial, vídeo aula, conhecimento prévio?

Particularmente, eu não gosto do netbeans e da maneira como ele coloca o código.
Além disso, você está amontoando tudo no JFrame, isso é uma prática bastante ruim.
O ideal seria, para o JFrame, conter apenas os componentes e, no máximo, os métodos que correspondam às ações que os componentes invocam e separar a lógica em outras classes, organizando o que você está fazendo e facilitando a identificação de possíveis problemas de codificação.

Samuel_Ribeiro

Estou baseando em um vídeo aula, ja tentei transferir para o eclipse mars 2 mas não entendo muito do eclipse não, tenho um conhecimento médio de java, estou tentando fazer este sistema a pedido de um colega meu, mas estou apanhando na hora de emitir os relatórios.

Samuel_Ribeiro

Veja como esta a interface do sistema no netbeansNterfeice_netbeans.pdf (407,9 KB)

darlan_machado

Sistema web ou desktop?
Na verdade, não tem muito segredo.
Basicamente, é incluir as libs que precisa para gerar o relatório, ter o .jasper e fazer o que você está fazendo. É simples.

darlan_machado

Sendo bem sincero, a interface é inútil se a programação que tem por trás não for boa.

Samuel_Ribeiro

É Web.
Pelo que foi visto até agora?
Esta ruim?
Porque estou no final do sistema e agora que apresentou erro, nas gerações de relatório.

darlan_machado

Não é a questão, eu nem olhei (pois aqui é bloqueado) a interface.
O que me intriga é o seguinte: quando o erro é de compilação (algo que impede o código fonte de ser compilado) como é o caso, a própria IDE deveria avisar (ao menos o eclipse faz isso).

darlan_machado

Como você pretende usar isso

JOptionPane.showConfirmDialog(null, Confirma a impressão do relatório de Cliente?, Atenção, JOptionPane.YES_NO_OPTION);

Numa aplicação web?
Cara, tem certeza de que sabe o que está fazendo?

darlan_machado

Fui pesquisar pela mensagem do erro e encontrei um problema semelhante

Veja

Samuel_Ribeiro

Vamos fazer assim
Me da uma dica de como importo este projeto para o eclipse, e vou tentar finalizar por ele, quem sabe da menos problema, e se torna um aprendizada a mais para mim.

darlan_machado

Eu sugiro começar um projeto do zero no eclipse, com a mesma estrutura de packages (pacotes) e copiar item a item.
Isso vai evitar uma série de problemas.

Samuel_Ribeiro

Ok
Vou começar
Obrigado, por enquanto.

staroski

UnsupportedOperationException ocorre em tempo de execução, não em tempo de compilação.

O arquivo "C:/reports/clientes.jasper" existe?
É um objeto Jasper serializado?

Samuel_Ribeiro

Bom dia Storosk
O Arquivo existe sim

darlan_machado

Tem certeza que o caminho até ele é esse?
Tem certeza que está compilado?
Eu, quando tinha dúvidas sobre arquivos, fazia algo assim:

File file = new File("C:\\reports\\clientes.jasper");
if(file.exists()){
    //faz algo
} else {
    //Avisa com erro, lança exceção, etc
}

Isso vai te dar a certeza de que consegue achar o arquivo ou tentar algo diferente.

Samuel_Ribeiro

Boa tarde
Desculpe-me pela demora, mas me aventurei em deixar o windows e transferir todo o meu projeto par o Linux - Ubuntu Gnome, deu mais certo que no windows só que agora não consigo me conectar ao banco de dados. Esta acusando de que não encontra o drive, ja adicionei a biblioteca MySQL, ja troquei ela varias vezes e nada. olha ai a mensagem:
java.lang.ClassNotFoundException: com.mysql.jdbc.driver

Segue meu modulo de conexão;

package br.com.Os.dal;

import java.sql.*;

/**
*

  • @author samuel
    */
    public class ModuloConexao {

    // Metodo responsavel por estabelecer conxão com o banco de dados
    
    public static Connection conector() {
    
    java.sql.Connection conexao = null;
    
    // A linha abaixo chama o Driver de conexão
     String driver = "com.mysql.jdbc.driver";
     // Armazenando informações referente ao banco
     String url = "jdbc:mysql://localhost:3306/dbordemdeservicos";
     String user = "root";
     String password = "";
     
     // Estabelecendo a conexão com o banco de dados
     
     try {
       Class.forName(driver);
       conexao = DriverManager.getConnection(url, user, password);
       return conexao;
                 
     }
         catch (Exception e) {
         // A linha abixo serve de apoio para exclarecer o erro
          System.out.println(e);
       return null;  
     }
    

    }

}

darlan_machado

Você sempre precisa colocar o nome correto do driver, que é

com.mysql.jdbc.Driver

Isso mesmo, case sensitive…

Samuel_Ribeiro

Muito bom cara
Funcionou, muito obrigado.
Como faço para dar o tópico como resolvido?

Criado 22 de janeiro de 2018
Ultima resposta 26 de jan. de 2018
Respostas 30
Participantes 3