📄 jrviewermod.java
字号:
btnFitPage.setSelected(false);
btnFitWidth.setSelected(false);
setZoomRatio(1);
}
}//GEN-LAST:event_btnActualSizeActionPerformed
private void btnFitWidthActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnFitWidthActionPerformed
// Add your handling code here:
if (btnFitWidth.isSelected())
{
btnActualSize.setSelected(false);
btnFitPage.setSelected(false);
setZoomRatio(((float)pnlInScroll.getVisibleRect().getWidth() - 20f) / (float)jasperPrint.getPageWidth());
}
}//GEN-LAST:event_btnFitWidthActionPerformed
private void btnFitPageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnFitPageActionPerformed
// Add your handling code here:
if (btnFitPage.isSelected())
{
btnActualSize.setSelected(false);
btnFitWidth.setSelected(false);
setZoomRatio(((float)pnlInScroll.getVisibleRect().getHeight() - 20f) / (float)jasperPrint.getPageHeight());
}
}//GEN-LAST:event_btnFitPageActionPerformed
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSaveActionPerformed
// Add your handling code here:
JFileChooser fileChooser = new JFileChooser();
FileFilter jrprintFileFilter =
new FileFilter()
{
public boolean accept(File file)
{
if (file.isDirectory())
return true;
else
return file.getName().toLowerCase().endsWith(".jrprint");
}
public String getDescription(){ return "JasperReports (*.jrprint)"; }
};
fileChooser.addChoosableFileFilter(jrprintFileFilter);
JRSaveContributor pdfSaveContrib = null;
try
{
Class pdfSaveContribClass = JRClassLoader.loadClassForName("net.sf.jasperreports.view.save.JRPdfSaveContributor");
pdfSaveContrib = (JRSaveContributor)pdfSaveContribClass.newInstance();
fileChooser.addChoosableFileFilter(pdfSaveContrib);
}
catch (Exception e)
{
}
JRSaveContributor htmlSaver = null;
try
{
Class htmlSaverClass = JRClassLoader.loadClassForName("net.sf.jasperreports.view.save.JRHtmlSaveContributor");
htmlSaver = (JRSaveContributor)htmlSaverClass.newInstance();
fileChooser.addChoosableFileFilter(htmlSaver);
}
catch (Exception e)
{
}
JRSaveContributor xlsSingleSheetSaver = null;
try
{
Class xlsSingleSheetSaverClass = JRClassLoader.loadClassForName("net.sf.jasperreports.view.save.JRSingleSheetXlsSaveContributor");
xlsSingleSheetSaver = (JRSaveContributor)xlsSingleSheetSaverClass.newInstance();
fileChooser.addChoosableFileFilter(xlsSingleSheetSaver);
}
catch (Exception e)
{
}
JRSaveContributor xlsMultipleSheetsSaver = null;
try
{
Class xlsMultipleSheetsSaverClass = JRClassLoader.loadClassForName("net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor");
xlsMultipleSheetsSaver = (JRSaveContributor)xlsMultipleSheetsSaverClass.newInstance();
fileChooser.addChoosableFileFilter(xlsMultipleSheetsSaver);
}
catch (Exception e)
{
}
JRSaveContributor csvSaver = null;
try
{
Class csvSaverClass = JRClassLoader.loadClassForName("net.sf.jasperreports.view.save.JRCsvSaveContributor");
csvSaver = (JRSaveContributor)csvSaverClass.newInstance();
fileChooser.addChoosableFileFilter(csvSaver);
}
catch (Exception e)
{
}
JRSaveContributor xmlSaver = null;
try
{
Class xmlSaverClass = JRClassLoader.loadClassForName("net.sf.jasperreports.view.save.JRXmlSaveContributor");
xmlSaver = (JRSaveContributor)xmlSaverClass.newInstance();
fileChooser.addChoosableFileFilter(xmlSaver);
}
catch (Exception e)
{
}
JRSaveContributor xmlEmbeddedImagesSaver = null;
try
{
Class xmlEmbeddedImagesSaverClass = JRClassLoader.loadClassForName("net.sf.jasperreports.view.save.JREmbeddedImagesXmlSaveContributor");
xmlEmbeddedImagesSaver = (JRSaveContributor)xmlEmbeddedImagesSaverClass.newInstance();
fileChooser.addChoosableFileFilter(xmlEmbeddedImagesSaver);
}
catch (Exception e)
{
}
fileChooser.setFileFilter(jrprintFileFilter);
int retValue = fileChooser.showSaveDialog(this);
if (retValue == JFileChooser.APPROVE_OPTION)
{
FileFilter fileFilter = fileChooser.getFileFilter();
File file = fileChooser.getSelectedFile();
String lowerCaseFileName = file.getName().toLowerCase();
try
{
if (fileFilter == jrprintFileFilter)
{
JRSaver.saveObject(jasperPrint, file);
}
else if (fileFilter instanceof JRSaveContributor)
{
((JRSaveContributor)fileFilter).save(jasperPrint, file);
}
else
{
if (lowerCaseFileName.endsWith(".jrprint"))
{
JRSaver.saveObject(jasperPrint, file);
}
else if (
lowerCaseFileName.endsWith(".pdf")
&& pdfSaveContrib != null
)
{
pdfSaveContrib.save(jasperPrint, file);
}
else if (
(lowerCaseFileName.endsWith(".html")
|| lowerCaseFileName.endsWith(".htm"))
&& htmlSaver != null
)
{
htmlSaver.save(jasperPrint, file);
}
else if (
lowerCaseFileName.endsWith(".xls")
&& xlsSingleSheetSaver != null
)
{
xlsSingleSheetSaver.save(jasperPrint, file);
}
else if (
lowerCaseFileName.endsWith(".csv")
&& csvSaver != null
)
{
csvSaver.save(jasperPrint, file);
}
else if (
lowerCaseFileName.endsWith(".xml")
|| lowerCaseFileName.endsWith(".jrpxml")
&& xmlSaver != null
)
{
xmlSaver.save(jasperPrint, file);
}
else
{
JRSaver.saveObject(jasperPrint, fileChooser.getSelectedFile());
}
}
}
catch (JRException e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(null, m_messages.getString("message.jrerrorsaving"));
}
}
}//GEN-LAST:event_btnSaveActionPerformed
private void pnlLinksMouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_pnlLinksMouseDragged
// Add your handling code here:
Container container = pnlInScroll.getParent();
if (container instanceof JViewport)
{
JViewport viewport = (JViewport) container;
Point point = viewport.getViewPosition();
int newX = point.x - (evt.getX() - downX);
int newY = point.y - (evt.getY() - downY);
int maxX = pnlInScroll.getWidth() - viewport.getWidth();
int maxY = pnlInScroll.getHeight() - viewport.getHeight();
if (newX < 0)
{
newX = 0;
}
if (newX > maxX)
{
newX = maxX;
}
if (newY < 0)
{
newY = 0;
}
if (newY > maxY)
{
newY = maxY;
}
viewport.setViewPosition(new Point(newX, newY));
}
}//GEN-LAST:event_pnlLinksMouseDragged
private void pnlLinksMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_pnlLinksMouseReleased
// Add your handling code here:
pnlLinks.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}//GEN-LAST:event_pnlLinksMouseReleased
private void pnlLinksMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_pnlLinksMousePressed
// Add your handling code here:
pnlLinks.setCursor(new Cursor(Cursor.MOVE_CURSOR));
downX = evt.getX();
downY = evt.getY();
}//GEN-LAST:event_pnlLinksMousePressed
private void btnPrintActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnPrintActionPerformed
{//GEN-HEADEREND:event_btnPrintActionPerformed
// Add your handling code here:
Thread thread =
new Thread(
new Runnable()
{
public void run()
{
try
{
JasperPrintManager.printReport(jasperPrint, true);
}
catch (Exception ex)
{
ex.printStackTrace();
JOptionPane.showMessageDialog(null, m_messages.getString("message.jrerrorprinting"));
}
}
}
);
thread.start();
}//GEN-LAST:event_btnPrintActionPerformed
private void btnLastActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnLastActionPerformed
{//GEN-HEADEREND:event_btnLastActionPerformed
// Add your handling code here:
setPageIndex(jasperPrint.getPages().size() - 1);
refreshPage();
}//GEN-LAST:event_btnLastActionPerformed
private void btnNextActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnNextActionPerformed
{//GEN-HEADEREND:event_btnNextActionPerformed
// Add your handling code here:
setPageIndex(pageIndex + 1);
refreshPage();
}//GEN-LAST:event_btnNextActionPerformed
private void btnPreviousActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnPreviousActionPerformed
{//GEN-HEADEREND:event_btnPreviousActionPerformed
// Add your handling code here:
setPageIndex(pageIndex - 1);
refreshPage();
}//GEN-LAST:event_btnPreviousActionPerformed
private void btnFirstActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnFirstActionPerformed
{//GEN-HEADEREND:event_btnFirstActionPerformed
// Add your handling code here:
setPageIndex(0);
refreshPage();
}//GEN-LAST:event_btnFirstActionPerformed
private void btnReloadActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnReloadActionPerformed
{//GEN-HEADEREND:event_btnReloadActionPerformed
// Add your handling code here:
if (type == TYPE_FILE_NAME)
{
try
{
loadReport(reportFileName, isXML);
}
catch (JRException e)
{
e.printStackTrace();
jasperPrint = null;
setPageIndex(0);
refreshPage();
JOptionPane.showMessageDialog(this, m_messages.getString("message.jrerrorloading"));
}
setPageIndex(0);
zoom = 0;//force pageRefresh()
setZoomRatio(1);
}
}//GEN-LAST:event_btnReloadActionPerformed
private void btnZoomInActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnZoomInActionPerformed
{//GEN-HEADEREND:event_btnZoomInActionPerformed
// Add your handling code here:
btnActualSize.setSelected(false);
btnFitPage.setSelected(false);
btnFitWidth.setSelected(false);
int newZoomInt = (int)(100 * getZoomRatio());
int index = Arrays.binarySearch(zooms, newZoomInt);
if (index < 0)
{
setZoomRatio((float)zooms[- index - 1] / 100f);
}
else if (index < cmbZoom.getModel().getSize() - 1)
{
setZoomRatio((float)zooms[index + 1] / 100f);
}
}//GEN-LAST:event_btnZoomInActionPerformed
private void btnZoomOutActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnZoomOutActionPerformed
{//GEN-HEADEREND:event_btnZoomOutActionPerformed
// Add your handling code here:
btnActualSize.setSelected(false);
btnFitPage.setSelected(false);
btnFitWidth.setSelected(false);
int newZoomInt = (int)(100 * getZoomRatio());
int index = Arrays.binarySearch(zooms, newZoomInt);
if (index > 0)
{
setZoomRatio((float)zooms[index - 1] / 100f);
}
else if (index < -1)
{
setZoomRatio((float)zooms[- index - 2] / 100f);
}
}//GEN-LAST:event_btnZoomOutActionPerformed
private void cmbZoomActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_cmbZoomActionPerformed
{//GEN-HEADEREND:event_cmbZoomActionPerformed
// Add your handling code here:
float newZoom = getZoomRatio();
if (newZoom < MIN_ZOOM)
{
newZoom = MIN_ZOOM;
}
if (newZoom > MAX_ZOOM)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -