java从JasperViewer中删除或禁用保存按钮 3 月,1 周 Questions & Answers 1798 如何从JasperViewer中删除保存按钮?我找到了一种方法,但它是从它的JRViewer组件中找到的,我一点也不相信
# 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()); } }
# 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 楼答案 我知道这已经很古老了,但在我把它投入使用之前,我已经在这里绊倒了,所以为了未来的研究人员,我将在这里展示什么对我有效 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);
# 1 楼答案
特别感谢borj。以及删除保存和打印按钮的更新代码
# 2 楼答案
# 3 楼答案
我知道这已经很古老了,但在我把它投入使用之前,我已经在这里绊倒了,所以为了未来的研究人员,我将在这里展示什么对我有效
现在像这样使用它