pdfsavedialog.java
来自「swing编写的库存管理程序。毕业设计类」· Java 代码 · 共 1,499 行 · 第 1/4 页
JAVA
1,499 行
*/
private DefaultComboBoxModel getPrintingComboBoxModel()
{
if (printingModel == null)
{
final Object[] data = {
getResources().getString("pdfsavedialog.option.noprinting"),
getResources().getString("pdfsavedialog.option.degradedprinting"),
getResources().getString("pdfsavedialog.option.fullprinting")
};
printingModel = new DefaultComboBoxModel(data);
}
return printingModel;
}
/**
* Retrieves the resources for this PreviewFrame. If the resources are not initialized,
* they get loaded on the first call to this method.
*
* @return this frames ResourceBundle.
*/
protected ResourceBundle getResources()
{
if (resources == null)
{
resources = ResourceBundle.getBundle(BASE_RESOURCE_CLASS);
}
return resources;
}
/**
* Returns a single instance of the security selection action.
*
* @return the action.
*/
private Action getActionSecuritySelection()
{
if (actionSecuritySelection == null)
{
actionSecuritySelection = new ActionSecuritySelection();
}
return actionSecuritySelection;
}
/**
* Returns a single instance of the file selection action.
*
* @return the action.
*/
private Action getActionSelectFile()
{
if (actionSelectFile == null)
{
actionSelectFile = new ActionSelectFile();
}
return actionSelectFile;
}
/**
* Returns a single instance of the dialog confirm action.
*
* @return the action.
*/
private Action getActionConfirm()
{
if (actionConfirm == null)
{
actionConfirm = new ActionConfirm();
}
return actionConfirm;
}
/**
* Returns a single instance of the dialog cancel action.
*
* @return the action.
*/
protected Action getActionCancel()
{
if (actionCancel == null)
{
actionCancel = new ActionCancel();
}
return actionCancel;
}
/**
* Initializes the Swing components of this dialog.
*/
private void initialize()
{
final JPanel contentPane = new JPanel();
contentPane.setLayout(new GridBagLayout());
contentPane.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
final JLabel lblFileName = new JLabel(getResources().getString("pdfsavedialog.filename"));
final JLabel lblAuthor = new JLabel(getResources().getString("pdfsavedialog.author"));
final JLabel lblTitel = new JLabel(getResources().getString("pdfsavedialog.title"));
final JLabel lblEncoding = new JLabel(getResources().getString("pdfsavedialog.encoding"));
final JButton btnSelect = new ActionButton(getActionSelectFile());
txAuthor = new JTextField();
txFilename = new JTextField();
txTitle = new JTextField();
encodingModel = EncodingComboBoxModel.createDefaultModel();
encodingModel.addEncodingUnchecked("Identity-H", "PDF-Unicode encoding");
encodingModel.addEncodingUnchecked("Identity-V", "PDF-Unicode encoding");
encodingModel.sort();
cbEncoding = new JComboBox(encodingModel);
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.WEST;
gbc.insets = new Insets(3, 1, 1, 1);
contentPane.add(lblFileName, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.gridx = 0;
gbc.gridy = 1;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(lblTitel, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.gridx = 0;
gbc.gridy = 2;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(lblAuthor, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.gridx = 0;
gbc.gridy = 3;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(lblEncoding, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 0;
gbc.ipadx = 120;
gbc.insets = new Insets(3, 1, 1, 1);
contentPane.add(txFilename, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 1;
gbc.ipadx = 120;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(txTitle, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 2;
gbc.ipadx = 120;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(txAuthor, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.NORTHWEST;
gbc.gridx = 2;
gbc.gridy = 0;
gbc.gridheight = 2;
contentPane.add(btnSelect, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 3;
gbc.ipadx = 120;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(cbEncoding, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.weighty = 1;
gbc.gridx = 0;
gbc.gridwidth = 3;
gbc.gridy = 4;
gbc.insets = new Insets(10, 0, 0, 0);
gbc.anchor = GridBagConstraints.NORTH;
contentPane.add(createSecurityPanel(), gbc);
btnCancel = new ActionButton(getActionCancel());
btnConfirm = new ActionButton(getActionConfirm());
final JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout());
buttonPanel.add(btnConfirm);
buttonPanel.add(btnCancel);
btnConfirm.setDefaultCapable(true);
getRootPane().setDefaultButton(btnConfirm);
buttonPanel.registerKeyboardAction(getActionConfirm(),
KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.NONE;
gbc.weightx = 1;
gbc.gridx = 0;
gbc.gridwidth = 3;
gbc.gridy = 6;
gbc.insets = new Insets(10, 0, 0, 0);
contentPane.add(buttonPanel, gbc);
setContentPane(contentPane);
}
/**
* Initializes the class member components of the security panel.
*
*/
private void createSecurityPanelComponents()
{
txUserPassword = new JPasswordField();
txConfUserPassword = new JPasswordField();
txOwnerPassword = new JPasswordField();
txConfOwnerPassword = new JPasswordField();
cxAllowCopy = new JCheckBox(getResources().getString("pdfsavedialog.allowCopy"));
cbAllowPrinting = new JComboBox(getPrintingComboBoxModel());
cxAllowScreenReaders =
new JCheckBox(getResources().getString("pdfsavedialog.allowScreenreader"));
cxAllowAssembly = new JCheckBox(getResources().getString("pdfsavedialog.allowAssembly"));
cxAllowModifyContents =
new JCheckBox(getResources().getString("pdfsavedialog.allowModifyContents"));
cxAllowModifyAnnotations =
new JCheckBox(getResources().getString("pdfsavedialog.allowModifyAnnotations"));
cxAllowFillIn = new JCheckBox(getResources().getString("pdfsavedialog.allowFillIn"));
}
/**
* Creates a panel for the security settings.
*
* @return The panel.
*/
private JPanel createSecurityPanel()
{
final JPanel securityPanel = new JPanel();
securityPanel.setLayout(new GridBagLayout());
securityPanel.setBorder(
BorderFactory.createTitledBorder(getResources().getString("pdfsavedialog.security")));
createSecurityPanelComponents();
final JLabel lblUserPass = new JLabel(getResources().getString("pdfsavedialog.userpassword"));
final JLabel lblUserPassConfirm =
new JLabel(getResources().getString("pdfsavedialog.userpasswordconfirm"));
final JLabel lblOwnerPass =
new JLabel(getResources().getString("pdfsavedialog.ownerpassword"));
final JLabel lblOwnerPassConfirm =
new JLabel(getResources().getString("pdfsavedialog.ownerpasswordconfirm"));
final JLabel lbAllowPrinting =
new JLabel(getResources().getString("pdfsavedialog.allowPrinting"));
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 0;
gbc.gridwidth = 4;
gbc.gridy = 0;
gbc.insets = new Insets(5, 5, 5, 5);
securityPanel.add(createSecurityConfigPanel(), gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.gridx = 0;
gbc.gridy = 1;
gbc.insets = new Insets(5, 5, 5, 5);
securityPanel.add(lblUserPass, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 1;
gbc.ipadx = 120;
gbc.insets = new Insets(5, 5, 5, 5);
securityPanel.add(txUserPassword, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.gridx = 0;
gbc.gridy = 2;
gbc.insets = new Insets(5, 5, 5, 5);
securityPanel.add(lblOwnerPass, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 2;
gbc.ipadx = 120;
gbc.insets = new Insets(5, 5, 5, 5);
securityPanel.add(txOwnerPassword, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.gridx = 2;
gbc.gridy = 1;
gbc.insets = new Insets(5, 5, 5, 5);
securityPanel.add(lblUserPassConfirm, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 3;
gbc.gridy = 1;
gbc.ipadx = 120;
gbc.insets = new Insets(5, 5, 5, 5);
securityPanel.add(txConfUserPassword, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.gridx = 2;
gbc.gridy = 2;
gbc.insets = new Insets(5, 5, 5, 5);
securityPanel.add(lblOwnerPassConfirm, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 3;
gbc.gridy = 2;
gbc.ipadx = 120;
gbc.insets = new Insets(5, 5, 5, 5);
securityPanel.add(txConfOwnerPassword, gbc);
gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridwidth = 2;
gbc.gridy = 3;
gbc.anchor = GridBagConstraints.WEST;
securityPanel.add(cxAllowCopy, gbc);
gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridwidth = 2;
gbc.gridy = 4;
gbc.anchor = GridBagConstraints.WEST;
securityPanel.add(cxAllowScreenReaders, gbc);
gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridwidth = 2;
gbc.gridy = 5;
gbc.anchor = GridBagConstraints.WEST;
securityPanel.add(cxAllowFillIn, gbc);
gbc = new GridBagConstraints();
gbc.gridx = 2;
gbc.gridwidth = 2;
gbc.gridy = 3;
gbc.anchor = GridBagConstraints.WEST;
securityPanel.add(cxAllowAssembly, gbc);
gbc = new GridBagConstraints();
gbc.gridx = 2;
gbc.gridwidth = 2;
gbc.gridy = 4;
gbc.anchor = GridBagConstraints.WEST;
securityPanel.add(cxAllowModifyContents, gbc);
gbc = new GridBagConstraints();
gbc.gridx = 2;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?