java 中的 Jasper 报告仅显示一次数据

One time only data display on the Jasper report in java

我正在创建 jasper 报告以查看学生详细信息。如果输入正确的学生 ID 相关学生详细信息显示在下面的 jsper 报告中,我有一个文本字段。我调用了 jpanel 中的 jsper 报告。

如果我第一次输入学生 ID 3,它会显示结果成功,然后如果我第二次输入学生 ID 4,则会显示相同的结果。我不知道为什么。

  HashMap a = new HashMap();
        a.put("id", txtno.getText());

        try {

        JasperDesign jdesign = JRXmlLoader.load("C:\Users\kobinath\Documents\NetBeansProjects\JavaApplication138\src\report1.jrxml");
        JasperReport jreport = JasperCompileManager.compileReport(jdesign);        
        JasperPrint jprint = JasperFillManager.fillReport(jreport, a, con);
         //  JasperViewer.viewReport(jprint);
         JRViewer vw=new JRViewer(jprint); 
         jPanel1.setLayout(new BorderLayout());
         jPanel1.repaint();

         jPanel1.add(vw);
         jPanel1.revalidate();



        } catch (JRException ex) {

        }

我认为仅 revalidate() 不足以刷新面板。您可以参考此 link 以确保更好地调用 repaint()。 希望能帮到您解决问题。

P.S。您可以在最后一行之前交换两行。