Estou com problema no meu programa que contem um frame e um splitpanel.do lado esquerdo um jTree com duas opções.A segunda opção é um painel que contem um formulario para criação de um report com JasperReport.Qdo “rodo” o programa de dentro do Eclipse tudo fui normalmente,porém qdo gero o .jar ou tento rodar ele via prompt de comando ele retorna o seguinte erro: Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: net/sf/ja
sperreports/engine/JRDataSource
at Principal.valueChanged(Principal.java:80)
at javax.swing.JTree.fireValueChanged(Unknown Source)
at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source
)
at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown S
ource)
at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown S
ource)
at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown
Source)
at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown S
ource)
at javax.swing.JTree.setSelectionPath(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source)
at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown So
urce)
at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Sourc
e)
at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
abaixo minha classe :
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.SwingUtilities;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeSelectionModel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import java.awt.BorderLayout;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
/*
- Created on 15/04/2005
- TODO To change the template for this generated file go to
- Window - Preferences - Java - Code Style - Code Templates
*/
/**
-
@author wrocha
-
TODO To change the template for this generated type comment go to
-
Window - Preferences - Java - Code Style - Code Templates
*/
public class Principal extends JPanel implements TreeSelectionListener {/* (non-Javadoc)
-
@see javax.swing.event.TreeSelectionListener#valueChanged(javax.swing.event.TreeSelectionEvent)
/
private JTree jTree;
private JPanel painel;
private Painel1 painel1;
private Painel2 painel2;
private JSplitPane split;
/*
<em>/ public Principal() { super(new BorderLayout()); initialize(); DefaultMutableTreeNode root = new DefaultMutableTreeNode(“root”); criaNos(root); jTree = new JTree(root); jTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); jTree.addTreeSelectionListener(this); JScrollPane scroll = new JScrollPane(jTree); painel = new JPanel(); split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); split.setDividerSize(1); split.setLeftComponent(scroll); split.setRightComponent(painel); add(split); // TODO Auto-generated constructor stub } /</em>*
- This method initializes this
-
@return void
*/
private void initialize() {
this.setBounds(0, 0, 500, 450);
} public void valueChanged(TreeSelectionEvent e){ String node = e.getPath().getLastPathComponent().toString(); try{ if(node==null) return; else{ if(node.equals(“Registro”)){ painel2 = new Painel2(); split.setRightComponent(painel2); } if(node.equals(“Etiquetas”)){ painel1 = new Painel1(); split.setRightComponent(painel1); } } // TODO Auto-generated method stub } catch (Exception ex){ ex.printStackTrace(); } } public void criaNos(DefaultMutableTreeNode root){ DefaultMutableTreeNode Registro = new DefaultMutableTreeNode(“Registro”); DefaultMutableTreeNode Etiquetas = new DefaultMutableTreeNode(“Etiquetas”); root.add(Registro); root.add(Etiquetas); } private static void createAndShowGUI(){ JFrame jFrame = new JFrame(); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Principal p1 = new Principal(); jFrame.setContentPane(p1); jFrame.pack(); jFrame.setBounds(0,0,500,480); JMenuBar jMBar = new JMenuBar(); JMenu menu = new JMenu(“Arquivo”); jMBar.add(menu); JMenuItem item1 = new JMenuItem(“Fechar”); item1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.exit(1); } }); menu.add(item1); jFrame.setJMenuBar(jMBar); jFrame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable(){ public void run(){ createAndShowGUI(); } }); } }
-
@see javax.swing.event.TreeSelectionListener#valueChanged(javax.swing.event.TreeSelectionEvent)
Se alguem puder me ajudar!!!
o erro aparece qdo seleciono o node “Etiquetas” , que é o painel que contem o jasper.
Abraços.
