在使用netbeans插件IReport的java程序中单击按钮时,如何显示报告

在使用netbeans插件IReport的java程序中单击按钮时,如何显示报告,java,database,report,Java,Database,Report,我正在创建一个程序,该程序将显示数据库表中的数据,我使用IReport插件for netbeans为其创建一个报告。我想在单击a按钮时调用该报告。但它给了我这个错误 Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at net.sf.jasperreports.engine.util.JRLoader.<clinit>

我正在创建一个程序,该程序将显示数据库表中的数据,我使用IReport插件for netbeans为其创建一个报告。我想在单击a按钮时调用该报告。但它给了我这个错误

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at net.sf.jasperreports.engine.util.JRLoader.<clinit>(JRLoader.java:65)
at net.sf.jasperreports.engine.JRPropertiesUtil.loadProperties(JRPropertiesUtil.java:99)
at net.sf.jasperreports.engine.DefaultJasperReportsContext.initProperties(DefaultJasperReportsContext.java:95)
at net.sf.jasperreports.engine.DefaultJasperReportsContext.<init>(DefaultJasperReportsContext.java:72)
at net.sf.jasperreports.engine.DefaultJasperReportsContext.<clinit>(DefaultJasperReportsContext.java:60)
at net.sf.jasperreports.engine.JasperCompileManager.getDefaultInstance(JasperCompileManager.java:83)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:448)
at RecordManagementSystem.connection$thehandler.actionPerformed(connection.java:270)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 44 more
这是我的全部代码:

  import java.sql.*;
  import javax.swing.*;
  import java.awt.*;
  import java.awt.event.*;
  import net.sf.jasperreports.view.*;
  import net.sf.jasperreports.engine.*;

  public class connection extends JFrame {

     Connection con;
     Statement st;
     ResultSet rs;

    private JTextField t1;
    private JTextField t2;
    private JTextField t3;
    private JButton b1;
    private JButton b2;
    private JButton b3;
    private JButton b4;
    private JButton ud;
    private JButton del;
    private JButton nw;
    private JButton save;

            private JButton show;

    public connection(){        
        connect();
        createFrame();
    }

    public void connect(){
        try{    
            String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
            Class.forName(driver);

            String connect = "jdbc:odbc:RIM";
            con = DriverManager.getConnection(connect);

            st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
            String sql = "select * from test";
            rs = st.executeQuery(sql);

        }catch(Exception e){}   
    }

    public void createFrame(){
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        getContentPane().setLayout(null);
        setVisible(true);
        setSize(480,200);
        getContentPane().setBackground(Color.GRAY);

        JLabel first = new JLabel("First name");
        first.setBounds(40, 11, 75, 14);
        getContentPane().add(first);

        t1 = new JTextField();
        t1.setBounds(102, 8, 108, 20);
        getContentPane().add(t1);
        t1.setColumns(10);

        JLabel last = new JLabel("Last Name");
        last.setBounds(220, 11, 75, 14);
        getContentPane().add(last);

        t2 = new JTextField();
        t2.setBounds(288, 8, 100, 20);
        getContentPane().add(t2);
        t2.setColumns(10);

        JLabel age = new JLabel("Age");
        age.setBounds(138, 39, 46, 14);
        getContentPane().add(age);

        t3 = new JTextField();
        t3.setBounds(187, 39, 108, 20);
        getContentPane().add(t3);
        t3.setColumns(10);

        b1 = new JButton("next");
        b1.setBounds(40, 78, 75, 23);
        getContentPane().add(b1);

        b2 = new JButton("prev");
        b2.setBounds(123, 78, 75, 23);
        getContentPane().add(b2);   

        b3 = new JButton("last\r\n");
        b3.setBounds(208, 78, 75, 23);
        getContentPane().add(b3);

        b4 = new JButton("first");
        b4.setBounds(299, 78, 89, 23);
        getContentPane().add(b4);

        ud = new JButton("Update");
        ud.setBounds(26, 123, 89, 23);
        getContentPane().add(ud);

        del = new JButton("Delete");
        del.setBounds(123, 123, 89, 23);
        getContentPane().add(del);

        nw = new JButton("New");
        nw.setBounds(225, 123, 89, 23);
        getContentPane().add(nw);

                    show = new JButton("show");
                    show.setBounds(400,123,89,23);
                    getContentPane().add(show);

        save = new JButton("save");
        save.setBounds(324, 123, 89, 23);
        getContentPane().add(save);

        try{
            rs.next();
            t1.setText(rs.getString("Fname"));
            t2.setText(rs.getString("Lname"));
            t3.setText(rs.getString("Age"));


        }catch(Exception e){

        }
        thehandler handler = new thehandler();
        b1.addActionListener(handler);
        b2.addActionListener(handler);
        b3.addActionListener(handler);
        b4.addActionListener(handler);
        ud.addActionListener(handler);
        del.addActionListener(handler);
        nw.addActionListener(handler);
        save.addActionListener(handler);
                    show.addActionListener(handler);
            }






private class thehandler implements ActionListener{
            public void actionPerformed(ActionEvent event){
                if(event.getSource()==b1){
                    try{    
                        if(rs.next()){
                            t1.setText(rs.getString("fname"));
                            t2.setText(rs.getString("lname"));
                            t3.setText(rs.getString("age"));        

                        }else{

                            JOptionPane.showMessageDialog(null, "No more records");
                            rs.previous();
                        }
                    }catch(Exception e){}
                }

                if(event.getSource()==b2){
                    try{                        
                        if(rs.previous()){
                            t1.setText(rs.getString("fname"));
                            t2.setText(rs.getString("lname"));
                            t3.setText(rs.getString("age"));        

                        }else{

                            JOptionPane.showMessageDialog(null, "No more records");
                            rs.next();
                        }
                    }catch(Exception e){}
                }

                if(event.getSource()==b3){
                    try{
                        rs.last();
                        t1.setText(rs.getString("fname"));
                        t2.setText(rs.getString("lname"));
                        t3.setText(rs.getString("age"));
                    }catch(Exception e){}
                }
                if(event.getSource()==b4){
                    try{
                        rs.first();
                        t1.setText(rs.getString("fname"));
                        t2.setText(rs.getString("lname"));
                        t3.setText(rs.getString("age"));

                    }catch(Exception e){}
                }
                if(event.getSource()==ud){
                    String fname = t1.getText();
                    String lname = t2.getText();
                    String age = t3.getText();

                    try{
                        rs.updateString("fname", fname);
                        rs.updateString("lname", lname);
                        rs.updateString("age", age);                
                        rs.updateRow();

                        JOptionPane.showMessageDialog(null, "Record updated successfully");
                    }catch(Exception e){}
                }

                if(event.getSource()==del){
                    try{
                        rs.deleteRow();

                        t1.setText("");
                        t2.setText("");
                        t3.setText("");



                        if(rs.last()){
                            rs.previous();
                            t1.setText(rs.getString("fname"));
                            t2.setText(rs.getString("lname"));
                            t3.setText(rs.getString("age"));


                        }else if(rs.first()){
                        rs.next();
                        t1.setText(rs.getString("fname"));
                        t2.setText(rs.getString("lname"));
                        t3.setText(rs.getString("age"));
                        }


                    }catch(Exception e){}
                }

                if(event.getSource()==nw){
                    t1.setText(" ");
                    t2.setText(" ");
                    t3.setText(" ");
                }

                if(event.getSource()==save){
                    String lname = t1.getText();
                    String fname = t2.getText();
                    String age = t3.getText();
                    JOptionPane.showMessageDialog(null, "Record Successfully added");


                    try{
                        rs.moveToInsertRow();

                        rs.updateString("fname", lname);
                        rs.updateString("lname", fname);
                        rs.updateString("age", age);
                        rs.insertRow();

                        rs.next();

                        t1.setText(rs.getString("fname"));
                        t2.setText(rs.getString("lname"));
                        t3.setText(rs.getString("age"));

                    }catch(Exception e){}
                }

                                if(event.getSource()==show){
                                 try{   
                                    String path = "C:\\NetBeansProjects\\SADSIGN\\src\\RecordManagementSystem\\report2.jrxml";                    
                                    JasperReport jr = JasperCompileManager.compileReport(path);
                                    JasperPrint jp =  JasperFillManager.fillReport(jr, null,con);
                                    JasperViewer.viewReport(jp);
                                 }catch(Exception e){
                                     JOptionPane.showMessageDialog(null, save);
                                 }
                                }
            }
        }
   public static void main(String[] args) {
       new connection();
   }
}

似乎缺少LogFactory类,请检查您的web inf/lib文件夹,检查是否存在org.apache.commons.looging.LogFactory类,并在构建路径中检查它。如果没有,则下载所需的jar并添加到构建路径。

似乎缺少LogFactory类,请检查您的web inf/lib文件夹,并检查是否存在org.apache.commons.looging.LogFactory类,同时在构建路径中检查它。如果没有,则下载所需的jar并添加到构建路径。

似乎缺少LogFactory类,请检查您的web inf/lib文件夹,并检查是否存在org.apache.commons.looging.LogFactory类,同时在构建路径中检查它。如果没有,则下载所需的jar并添加到构建路径。

似乎缺少LogFactory类,请检查您的web inf/lib文件夹,并检查是否存在org.apache.commons.looging.LogFactory类,同时在构建路径中检查它。如果没有,则下载所需的jar并添加到构建路径。

您可以发布
System.getproperty(“java.classpath”)的结果吗
并发布JDK所在的位置?如果您使用的是Windows计算机,您可以尝试在
C:\Java\jdk1.7.0\bin
中查找。如果位置与
println()
打印的内容不匹配,谷歌将设置类路径Java并按照说明操作。您能否发布
System.getproperty(“Java.Classpath”)的结果
并发布JDK所在的位置?如果您使用的是Windows计算机,您可以尝试在
C:\Java\jdk1.7.0\bin
中查找。如果位置与
println()
打印的内容不匹配,谷歌将设置类路径Java并按照说明操作。您能否发布
System.getproperty(“Java.Classpath”)的结果
并发布JDK所在的位置?如果您使用的是Windows计算机,您可以尝试在
C:\Java\jdk1.7.0\bin
中查找。如果位置与
println()
打印的内容不匹配,谷歌将设置类路径Java并按照说明操作。您能否发布
System.getproperty(“Java.Classpath”)的结果
并发布JDK所在的位置?如果您使用的是Windows计算机,您可以尝试在
C:\Java\jdk1.7.0\bin
中查找。如果位置与
println()
打印的内容不匹配,Google将设置Classpath Java并按照说明操作。
  import java.sql.*;
  import javax.swing.*;
  import java.awt.*;
  import java.awt.event.*;
  import net.sf.jasperreports.view.*;
  import net.sf.jasperreports.engine.*;

  public class connection extends JFrame {

     Connection con;
     Statement st;
     ResultSet rs;

    private JTextField t1;
    private JTextField t2;
    private JTextField t3;
    private JButton b1;
    private JButton b2;
    private JButton b3;
    private JButton b4;
    private JButton ud;
    private JButton del;
    private JButton nw;
    private JButton save;

            private JButton show;

    public connection(){        
        connect();
        createFrame();
    }

    public void connect(){
        try{    
            String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
            Class.forName(driver);

            String connect = "jdbc:odbc:RIM";
            con = DriverManager.getConnection(connect);

            st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
            String sql = "select * from test";
            rs = st.executeQuery(sql);

        }catch(Exception e){}   
    }

    public void createFrame(){
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        getContentPane().setLayout(null);
        setVisible(true);
        setSize(480,200);
        getContentPane().setBackground(Color.GRAY);

        JLabel first = new JLabel("First name");
        first.setBounds(40, 11, 75, 14);
        getContentPane().add(first);

        t1 = new JTextField();
        t1.setBounds(102, 8, 108, 20);
        getContentPane().add(t1);
        t1.setColumns(10);

        JLabel last = new JLabel("Last Name");
        last.setBounds(220, 11, 75, 14);
        getContentPane().add(last);

        t2 = new JTextField();
        t2.setBounds(288, 8, 100, 20);
        getContentPane().add(t2);
        t2.setColumns(10);

        JLabel age = new JLabel("Age");
        age.setBounds(138, 39, 46, 14);
        getContentPane().add(age);

        t3 = new JTextField();
        t3.setBounds(187, 39, 108, 20);
        getContentPane().add(t3);
        t3.setColumns(10);

        b1 = new JButton("next");
        b1.setBounds(40, 78, 75, 23);
        getContentPane().add(b1);

        b2 = new JButton("prev");
        b2.setBounds(123, 78, 75, 23);
        getContentPane().add(b2);   

        b3 = new JButton("last\r\n");
        b3.setBounds(208, 78, 75, 23);
        getContentPane().add(b3);

        b4 = new JButton("first");
        b4.setBounds(299, 78, 89, 23);
        getContentPane().add(b4);

        ud = new JButton("Update");
        ud.setBounds(26, 123, 89, 23);
        getContentPane().add(ud);

        del = new JButton("Delete");
        del.setBounds(123, 123, 89, 23);
        getContentPane().add(del);

        nw = new JButton("New");
        nw.setBounds(225, 123, 89, 23);
        getContentPane().add(nw);

                    show = new JButton("show");
                    show.setBounds(400,123,89,23);
                    getContentPane().add(show);

        save = new JButton("save");
        save.setBounds(324, 123, 89, 23);
        getContentPane().add(save);

        try{
            rs.next();
            t1.setText(rs.getString("Fname"));
            t2.setText(rs.getString("Lname"));
            t3.setText(rs.getString("Age"));


        }catch(Exception e){

        }
        thehandler handler = new thehandler();
        b1.addActionListener(handler);
        b2.addActionListener(handler);
        b3.addActionListener(handler);
        b4.addActionListener(handler);
        ud.addActionListener(handler);
        del.addActionListener(handler);
        nw.addActionListener(handler);
        save.addActionListener(handler);
                    show.addActionListener(handler);
            }






private class thehandler implements ActionListener{
            public void actionPerformed(ActionEvent event){
                if(event.getSource()==b1){
                    try{    
                        if(rs.next()){
                            t1.setText(rs.getString("fname"));
                            t2.setText(rs.getString("lname"));
                            t3.setText(rs.getString("age"));        

                        }else{

                            JOptionPane.showMessageDialog(null, "No more records");
                            rs.previous();
                        }
                    }catch(Exception e){}
                }

                if(event.getSource()==b2){
                    try{                        
                        if(rs.previous()){
                            t1.setText(rs.getString("fname"));
                            t2.setText(rs.getString("lname"));
                            t3.setText(rs.getString("age"));        

                        }else{

                            JOptionPane.showMessageDialog(null, "No more records");
                            rs.next();
                        }
                    }catch(Exception e){}
                }

                if(event.getSource()==b3){
                    try{
                        rs.last();
                        t1.setText(rs.getString("fname"));
                        t2.setText(rs.getString("lname"));
                        t3.setText(rs.getString("age"));
                    }catch(Exception e){}
                }
                if(event.getSource()==b4){
                    try{
                        rs.first();
                        t1.setText(rs.getString("fname"));
                        t2.setText(rs.getString("lname"));
                        t3.setText(rs.getString("age"));

                    }catch(Exception e){}
                }
                if(event.getSource()==ud){
                    String fname = t1.getText();
                    String lname = t2.getText();
                    String age = t3.getText();

                    try{
                        rs.updateString("fname", fname);
                        rs.updateString("lname", lname);
                        rs.updateString("age", age);                
                        rs.updateRow();

                        JOptionPane.showMessageDialog(null, "Record updated successfully");
                    }catch(Exception e){}
                }

                if(event.getSource()==del){
                    try{
                        rs.deleteRow();

                        t1.setText("");
                        t2.setText("");
                        t3.setText("");



                        if(rs.last()){
                            rs.previous();
                            t1.setText(rs.getString("fname"));
                            t2.setText(rs.getString("lname"));
                            t3.setText(rs.getString("age"));


                        }else if(rs.first()){
                        rs.next();
                        t1.setText(rs.getString("fname"));
                        t2.setText(rs.getString("lname"));
                        t3.setText(rs.getString("age"));
                        }


                    }catch(Exception e){}
                }

                if(event.getSource()==nw){
                    t1.setText(" ");
                    t2.setText(" ");
                    t3.setText(" ");
                }

                if(event.getSource()==save){
                    String lname = t1.getText();
                    String fname = t2.getText();
                    String age = t3.getText();
                    JOptionPane.showMessageDialog(null, "Record Successfully added");


                    try{
                        rs.moveToInsertRow();

                        rs.updateString("fname", lname);
                        rs.updateString("lname", fname);
                        rs.updateString("age", age);
                        rs.insertRow();

                        rs.next();

                        t1.setText(rs.getString("fname"));
                        t2.setText(rs.getString("lname"));
                        t3.setText(rs.getString("age"));

                    }catch(Exception e){}
                }

                                if(event.getSource()==show){
                                 try{   
                                    String path = "C:\\NetBeansProjects\\SADSIGN\\src\\RecordManagementSystem\\report2.jrxml";                    
                                    JasperReport jr = JasperCompileManager.compileReport(path);
                                    JasperPrint jp =  JasperFillManager.fillReport(jr, null,con);
                                    JasperViewer.viewReport(jp);
                                 }catch(Exception e){
                                     JOptionPane.showMessageDialog(null, save);
                                 }
                                }
            }
        }
   public static void main(String[] args) {
       new connection();
   }
}
try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection con= (Connection) DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","Inventari",null);  

    JasperDesign jd  = JRXmlLoader.load("C:\\Users\\RrezartP\\Documents\\NetBeansProjects\\Inventari\\src\\Report\\Mjetethemelore.jrxml");
    JasperReport jr = JasperCompileManager.compileReport("C:\\Users\\RrezartP\\Documents\\NetBeansProjects\\Inventari\\src\\Report\\Mjetethemelore.jrxml");
    JasperPrint  jp = JasperFillManager.fillReport(jr, new HashMap(),con);
    JasperViewer.viewReport(jp);
    JasperExportManager.exportReportToPdfFile(
    jp, "C:\\PDF Raportet\\MjeteReport.pdf");


}

catch(Exception e){
    JOptionPane.showMessageDialog(null, e);
 }