jsmanager.java
来自「Java生成PDF Java生成PDF Java生成PDF」· Java 代码 · 共 532 行 · 第 1/2 页
JAVA
532 行
int val = ((Integer)pane.getValue()).intValue(); if (val==JOptionPane.OK_OPTION) { return 1; } else if (val==JOptionPane.CANCEL_OPTION) { return 2; } else if (val==JOptionPane.NO_OPTION) { return 3; } else if (val==JOptionPane.YES_OPTION) { return 4; } else { return 0; } } /** * An implementation of the <code>App.response</code> JavaScript method */ public String appResponse(String message, String cTitle, String cDefault, boolean bPassword, String cLabel) { return (String)JOptionPane.showInputDialog(root, message, cTitle, JOptionPane.PLAIN_MESSAGE, null, null, cDefault); } //----------------------------------------------------------------------------------- private boolean runEvent(DocumentPanel panel, JSEvent event) { boolean ok = engine.runEvent(event); PDFAction action = event.javaGetAction(); while (action!=null) { if (action.getType()!="FormJavaScript") { if (panel!=null) { ok = panel.runAction(action); } else { ok = true; } } action = action.getNext(); } return ok; } private boolean isShift(InputEvent event) { return event.isShiftDown(); } private boolean isModifier(InputEvent event) { try { return (event.isControlDown() && System.getProperty("os.name").indexOf("Windows")>=0) || (event.isMetaDown() && System.getProperty("os.name").indexOf("Windows")<0); } catch (Throwable e) { return event.isControlDown(); } } /** * Raise the <code>App/Init</code> JavaScript method */ public void runEventAppInit() { synchronized(this) { if (!initialized) { // So we can only run this once per manager initialized = true; JSEvent event = JSEvent.createAppInit(); runEvent(null, event); for (int i=0;i<initplugins.size();i++) { Object[] o = (Object[])initplugins.get(i); engine.bind((String)o[0], o[1], (String)o[2]); } initplugins = null; } } } /** * Raise the <code>Batch/Exec</code> JavaScript method */ public boolean runEventBatchExec(DocumentPanel panel, PDF pdf, String javascript) { JSEvent event = JSEvent.createBatchExec(pdf, javascript); return runEvent(panel, event); } /** * Raise the <code>Bookmark/MouseUp</code> JavaScript method */ public void runEventBookmarkMouseUp(DocumentPanel panel, PDFBookmark bookmark) { JSEvent event = JSEvent.createBookmarkMouseUp(bookmark); runEvent(panel, event); } /** * Raise the <code>Console/Exec</code> JavaScript method */ public void runEventConsoleExec(String javascript) { JSEvent event = JSEvent.createConsoleExec(javascript); runEvent(null, event); } /** * Raise the <code>Doc/DidPrint</code> JavaScript method */ public void runEventDocDidPrint(DocumentPanel panel) { JSEvent event = JSEvent.createDocDidPrint(panel.getPDF()); runEvent(panel, event); } /** * Raise the <code>Doc/DidSave</code> JavaScript method */ public void runEventDocDidSave(DocumentPanel panel) { JSEvent event = JSEvent.createDocDidSave(panel.getPDF()); runEvent(panel, event); } /** * Raise the <code>Doc/Open</code> JavaScript method */ public void runEventDocOpen(DocumentPanel panel, String targetName) { docpanels.put(panel.getPDF(), panel); JSEvent event = JSEvent.createDocOpen(panel.getPDF(), targetName); runEvent(panel, event); } /** * Raise the <code>Doc/WillClose</code> JavaScript method */ public void runEventDocWillClose(DocumentPanel panel) { docpanels.remove(panel.getPDF()); JSEvent event = JSEvent.createDocWillClose(panel.getPDF()); runEvent(panel, event); } /** * Raise the <code>Doc/WillPrint</code> JavaScript method */ public void runEventDocWillPrint(DocumentPanel panel) { JSEvent event = JSEvent.createDocWillPrint(panel.getPDF()); runEvent(panel, event); } /** * Raise the <code>Doc/WillSave</code> JavaScript method */ public void runEventDocWillSave(DocumentPanel panel) { JSEvent event = JSEvent.createDocWillSave(panel.getPDF()); runEvent(panel, event); } /** * Raise the <code>External/Exec</code> JavaScript method */ public void runEventExternalExec(DocumentPanel panel, String javascript) { JSEvent event = JSEvent.createExternalExec(javascript); runEvent(panel, event); } /** * Raise the <code>Field/Blur</code> JavaScript method */ public void runEventFieldBlur(DocumentPanel panel, WidgetAnnotation annot, boolean shift, boolean modifier) { JSEvent event = JSEvent.createFieldBlur(annot, shift, modifier); runEvent(panel, event); } /** * Raise the <code>Field/Calculate</code> JavaScript method */ public boolean runEventFieldCalculate(DocumentPanel panel, WidgetAnnotation target, WidgetAnnotation source) { JSEvent event = JSEvent.createFieldCalculate(target, source); return runEvent(panel, event); } /** * Raise the <code>Field/Focus</code> JavaScript method */ public void runEventFieldFocus(DocumentPanel panel, WidgetAnnotation annot, boolean shift, boolean modifier) { JSEvent event = JSEvent.createFieldFocus(annot, shift, modifier); runEvent(panel, event); } /** * Raise the <code>Field/Format</code> JavaScript method */ public void runEventFieldFormat(DocumentPanel panel, WidgetAnnotation annot, int commitKey, boolean willCommit) { JSEvent event = JSEvent.createFieldFormat(annot, commitKey, willCommit); runEvent(panel, event); } /** * Raise the <code>Field/Keystroke</code> JavaScript method */ public boolean runEventFieldKeystroke(DocumentPanel panel, WidgetAnnotation annot, int commitKey, String change, String changeEx, boolean fieldFull, boolean keyDown, boolean modifier, int selStart, int selEnd, boolean shift, String value, boolean willCommit) { JSEvent event = JSEvent.createFieldKeystroke(annot, commitKey, change, changeEx, fieldFull, keyDown, modifier, selStart, selEnd, shift, value, willCommit); return runEvent(panel, event); } /** * Raise the <code>Field/Mouse Down</code> JavaScript method */ public void runEventFieldMouseDown(DocumentPanel panel, WidgetAnnotation annot, MouseEvent mevent) { boolean modifier = isModifier(mevent); boolean shift = isShift(mevent); JSEvent event = JSEvent.createFieldMouseDown(annot, shift, modifier); runEvent(panel, event); } /** * Raise the <code>Field/Mouse Enter</code> JavaScript method */ public void runEventFieldMouseEnter(DocumentPanel panel, WidgetAnnotation annot, MouseEvent mevent) { boolean modifier = isModifier(mevent); boolean shift = isShift(mevent); JSEvent event = JSEvent.createFieldMouseEnter(annot, shift, modifier); runEvent(panel, event); } /** * Raise the <code>Field/Mouse Exit</code> JavaScript method */ public void runEventFieldMouseExit(DocumentPanel panel, WidgetAnnotation annot, MouseEvent mevent) { boolean modifier = isModifier(mevent); boolean shift = isShift(mevent); JSEvent event = JSEvent.createFieldMouseExit(annot, shift, modifier); runEvent(panel, event); } /** * Raise the <code>Field/Mouse Up</code> JavaScript method */ public void runEventFieldMouseUp(DocumentPanel panel, WidgetAnnotation annot, MouseEvent mevent) { boolean modifier = isModifier(mevent); boolean shift = isShift(mevent); JSEvent event = JSEvent.createFieldMouseUp(annot, shift, modifier); runEvent(panel, event); } /** * Raise the <code>Field/Validate</code> JavaScript method */ public boolean runEventFieldValidate(DocumentPanel panel, WidgetAnnotation annot, String value, boolean shift, boolean modifier, String change, String changeEx, boolean keyDown) { JSEvent event = JSEvent.createFieldValidate(annot, value, shift, modifier, change, changeEx, keyDown); return runEvent(panel, event); } /** * Raise the <code>Link/Mouse Up</code> JavaScript method */ public void runEventLinkMouseUp(DocumentPanel panel, AnnotationLink annot) { JSEvent event = JSEvent.createLinkMouseUp(annot); runEvent(panel, event); } /** * Raise the <code>Page/Open</code> JavaScript method */ public void runEventPageOpen(DocumentPanel panel, PDFPage page) { JSEvent event = JSEvent.createPageOpen(page); runEvent(panel, event); } /** * Raise the <code>Page/Close</code> JavaScript method */ public void runEventPageClose(DocumentPanel panel, PDFPage page) { JSEvent event = JSEvent.createPageClose(page); runEvent(panel, event); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?