⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 passworddialog.java

📁 Java生成PDF Java生成PDF Java生成PDF
💻 JAVA
字号:
// $Id: PasswordDialog.java,v 1.1 2006/08/03 11:35:43 mike Exp $package org.faceless.pdf2.viewer;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.io.File;import java.io.IOException;import org.faceless.pdf2.PDFReader;/** * Dialog to login to the specified PDF document. * * <p><i> * This code is copyright the Big Faceless Organization. You're welcome to * use, modify and distribute it in any form in your own projects, provided * those projects continue to make use of the Big Faceless PDF library. * </i></p> */class PasswordDialog extends JDialog {    private boolean isvalid = false;    private JPasswordField passwordField;    private PDFReader reader;    private String password;    public PasswordDialog(Frame parent, final File pdf) {        super(parent, "Password", true);        JPanel passwordPanel = new JPanel();        passwordPanel.setBorder(new CompoundBorder(new EtchedBorder(EtchedBorder.RAISED),                                               new EmptyBorder(5,5,5,5)));        passwordPanel.add(new JLabel("Password:"));        passwordField = new JPasswordField(16);        passwordPanel.add(passwordField);        JPanel p = new JPanel(new FlowLayout(FlowLayout.CENTER));        p.setBorder(new EmptyBorder(10, 10, 10, 10));        p.add(passwordPanel);        ActionListener lst = new ActionListener() {            public void actionPerformed(ActionEvent evt) {                password = new String(passwordField.getPassword());                try {                    reader = new PDFReader(pdf,password);                } catch(IOException e) {                    JOptionPane.showMessageDialog(PasswordDialog.this,                                "Invalid password", "Password Error",                                JOptionPane.ERROR_MESSAGE);                    passwordField.setText("");                    return;		// Try one more time                }                isvalid = true;         // If we get here, login was successful                dispose();            }        };        JButton saveButton = new JButton("Password");        saveButton.addActionListener(lst);        getRootPane().setDefaultButton(saveButton);        getRootPane().registerKeyboardAction(lst, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),                                             JComponent.WHEN_IN_FOCUSED_WINDOW);        p.add(saveButton);        JButton cancelButton = new JButton("Cancel");        lst = new ActionListener() {            public void actionPerformed(ActionEvent evt) {                dispose();            }        };        cancelButton.addActionListener(lst);        getRootPane().registerKeyboardAction(lst, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),                                             JComponent.WHEN_IN_FOCUSED_WINDOW);        p.add(cancelButton);        getContentPane().add(p, BorderLayout.CENTER);        setSize(new Dimension(300,135));        setResizable(false);        setLocationRelativeTo(parent);        setVisible(true);        pack();    }    boolean isValidPassword() {        return isvalid;    }    PDFReader getReader() {        return reader;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -