📄 passworddialog.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 + -