有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (3) 个答案

  1. # 1 楼答案

    特别感谢borj。以及删除保存和打印按钮的更新代码

    public class CustomeJasperViewer extends JasperViewer {
    
        public CustomeJasperViewer(JasperPrint jasperPrint, boolean isExitOnClose) {
            super(jasperPrint, isExitOnClose);
    
            try {
    
                JPanel jPanel = ((JPanel) this.viewer.getComponent(0));
    
                Component btnSave = jPanel.getComponent(0);
                Component btnPrint = jPanel.getComponent(1);
    
                jPanel.remove(btnSave);
                jPanel.remove(btnSave);
    
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    public void viewReport (){
    
        try {
    
            JasperReport jasperReport = JasperCompileManager.compileReport(rep_path);
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, rep_map, Connection);
            CustomeJasperViewer jv = new CustomeJasperViewer(jasperPrint, false);
            jv.setVisible(true);
    
        } catch (JRException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
    }
    

    enter image description here

  2. # 2 楼答案

    private void adjustViewerLayoutAndLookAndShow(JasperViewer viewer) {
        Container contentPane = viewer.getContentPane();
        JRViewerToolbar toolbar = (JRViewerToolbar) ((JRViewer)((JPanel)contentPane.getComponents()[0]).getComponent(0)).getComponent(0);
    
        JButton btnSave = (JButton) toolbar.getComponent(0);
        btnSave.setEnabled(false);
    
        JButton btnPrint = (JButton) toolbar.getComponent(1);
        btnPrint.setEnabled(false);
    
    
        viewer.setTitle(extraInfo);
        viewer.setVisible(true);
    }
    
  3. # 3 楼答案

    我知道这已经很古老了,但在我把它投入使用之前,我已经在这里绊倒了,所以为了未来的研究人员,我将在这里展示什么对我有效

    import javax.swing.JPanel;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.view.JasperViewer;
    
    public class MyJasperViewer extends JasperViewer {
    
        public MyJasperViewer(JasperPrint jasperPrint, boolean isExitOnClose) {
            super(jasperPrint, isExitOnClose);
    
            try {
                ((JPanel) this.viewer.getComponent(0)).remove(0);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    现在像这样使用它

    JasperPrint jp = JasperFillManager.fillReport(url.openStream(), map, conn);
    
    MyJasperViewer jv = new MyJasperViewer(jp, false);
    jv.setVisible(true);