📄 htmlexportdialog.java
字号:
* Returns the cancel action.
*
* @return the cancel action.
*/
protected Action getCancelAction()
{
return actionCancel;
}
/**
* Retrieves the resources for this dialog. 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;
}
/**
* Initializes the Swing components of this dialog.
*/
private void initialize()
{
actionCancel = new ActionCancel();
final JPanel contentPane = new JPanel();
contentPane.setLayout(new GridBagLayout());
contentPane.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
final JLabel lblAuthor = new JLabel(getResources().getString("htmlexportdialog.author"));
final JLabel lblTitel = new JLabel(getResources().getString("htmlexportdialog.title"));
final JLabel lblEncoding = new JLabel(getResources().getString("htmlexportdialog.encoding"));
txAuthor = new JTextField();
txTitle = new JTextField();
encodingModel = EncodingComboBoxModel.createDefaultModel();
encodingModel.sort();
cbEncoding = new JComboBox(encodingModel);
cbxStrictLayout = new JCheckBox(getResources().getString("htmlexportdialog.strict-layout"));
rbGenerateHTML4 = new JRadioButton(getResources().getString("htmlexportdialog.generate-html4"));
rbGenerateXHTML = new JRadioButton(getResources().getString("htmlexportdialog.generate-xhtml"));
final ButtonGroup bg = new ButtonGroup();
bg.add(rbGenerateHTML4);
bg.add(rbGenerateXHTML);
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.WEST;
gbc.insets = new Insets(3, 1, 1, 1);
contentPane.add(lblTitel, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.gridx = 0;
gbc.gridy = 1;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(lblAuthor, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.gridx = 0;
gbc.gridy = 2;
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(txTitle, 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(txAuthor, 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(cbEncoding, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.NORTHWEST;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = 3;
gbc.ipadx = 120;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(cbxStrictLayout, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.NORTHWEST;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = 4;
gbc.ipadx = 120;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(rbGenerateHTML4, gbc);
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.NORTHWEST;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 1;
gbc.gridy = 5;
gbc.ipadx = 120;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(rbGenerateXHTML, gbc);
exportSelection = new JTabbedPane();
exportSelection.add("Stream export", createStreamExportPanel());
exportSelection.add("Directory export", createDirExportPanel());
exportSelection.add("Zip export", createZipExportPanel());
gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.NORTHWEST;
gbc.fill = GridBagConstraints.BOTH;
gbc.gridx = 0;
gbc.gridy = 6;
gbc.gridwidth = 2;
gbc.weightx = 1;
gbc.weighty = 1;
gbc.insets = new Insets(1, 1, 1, 1);
contentPane.add(exportSelection, gbc);
setContentPane(contentPane);
}
/**
* Creates a panel for the directory export.
*
* @return The panel.
*/
private JPanel createDirExportPanel()
{
final JPanel contentPane = new JPanel();
contentPane.setLayout(new GridBagLayout());
final JLabel lblDirFileName = new JLabel(getResources().getString("htmlexportdialog.filename"));
final JLabel lblDirDataFileName = new JLabel(
getResources().getString("htmlexportdialog.datafilename"));
cbxCopyExternalReferencesDir = new JCheckBox(
getResources().getString("htmlexportdialog.copy-external-references"));
txDirDataFilename = new JTextField();
txDirFilename = new JTextField();
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.NONE;
gbc.gridx = 0;
gbc.gridy = 0;
contentPane.add(lblDirFileName, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.NONE;
gbc.gridx = 0;
gbc.gridy = 1;
contentPane.add(lblDirDataFileName, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 0;
contentPane.add(txDirFilename, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 1;
contentPane.add(txDirDataFilename, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 2;
contentPane.add(cbxCopyExternalReferencesDir, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 2;
gbc.gridy = 0;
contentPane.add(new ActionButton(new ActionSelectDirFile()), gbc);
final Action actionConfirm = new ActionConfirmDir();
final JButton btnCancel = new ActionButton(actionCancel);
final JButton btnConfirm = new ActionButton(actionConfirm);
final JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout());
buttonPanel.add(btnConfirm);
buttonPanel.add(btnCancel);
btnConfirm.setDefaultCapable(true);
buttonPanel.registerKeyboardAction(actionConfirm, 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 = 3;
gbc.insets = new Insets(10, 0, 0, 0);
contentPane.add(buttonPanel, gbc);
return contentPane;
}
/**
* Creates a panel for the ZIP file export.
*
* @return The panel.
*/
private JPanel createZipExportPanel()
{
final JPanel contentPane = new JPanel();
contentPane.setLayout(new GridBagLayout());
final JLabel lblZipFileName = new JLabel(getResources().getString("htmlexportdialog.filename"));
final JLabel lblZipDataFileName = new JLabel(
getResources().getString("htmlexportdialog.datafilename"));
cbxCopyExternalReferencesZip = new JCheckBox(
getResources().getString("htmlexportdialog.copy-external-references"));
txZipDataFilename = new JTextField();
txZipFilename = new JTextField();
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.NONE;
gbc.gridx = 0;
gbc.gridy = 0;
contentPane.add(lblZipFileName, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.NONE;
gbc.gridx = 0;
gbc.gridy = 1;
contentPane.add(lblZipDataFileName, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 0;
contentPane.add(txZipFilename, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 1;
contentPane.add(txZipDataFilename, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 2;
contentPane.add(cbxCopyExternalReferencesZip, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 2;
gbc.gridy = 0;
contentPane.add(new ActionButton(new ActionSelectZipFile()), gbc);
final Action actionConfirm = new ActionConfirmZip();
final JButton btnCancel = new ActionButton(actionCancel);
final JButton btnConfirm = new ActionButton(actionConfirm);
final JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout());
buttonPanel.add(btnConfirm);
buttonPanel.add(btnCancel);
btnConfirm.setDefaultCapable(true);
buttonPanel.registerKeyboardAction(actionConfirm, 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);
return contentPane;
}
/**
* Creates a panel for the stream export.
*
* @return The panel.
*/
private JPanel createStreamExportPanel()
{
final JPanel contentPane = new JPanel();
contentPane.setLayout(new GridBagLayout());
final JLabel lblStreamFileName = new JLabel(getResources().getString("htmlexportdialog.filename"));
txStreamFilename = new JTextField();
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.NONE;
gbc.gridx = 0;
gbc.gridy = 0;
contentPane.add(lblStreamFileName, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1;
gbc.gridx = 1;
gbc.gridy = 0;
contentPane.add(txStreamFilename, gbc);
gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridx = 2;
gbc.gridy = 0;
contentPane.add(new ActionButton(new ActionSelectStreamFile()), gbc);
final Action actionConfirm = new ActionConfirmStream();
final JButton btnCancel = new ActionButton(actionCancel);
final JButton btnConfirm = new ActionButton(actionConfirm);
final JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout());
buttonPanel.add(btnConfirm);
buttonPanel.add(btnCancel);
btnConfirm.setDefaultCapable(true);
buttonPanel.registerKeyboardAction(actionConfirm, 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);
return contentPane;
}
/**
* Returns the title of the HTML file.
*
* @return the title
*/
public String getHTMLTitle()
{
return txTitle.getText();
}
/**
* Defines the title of the HTML file.
*
* @param title the title
*/
public void setHTMLTitle(final String title)
{
this.txTitle.setText(title);
}
/**
* Gets the author of the dialog. This is not yet implemented in the HTML-Target.
*
* @return the name of the author of this report.
*/
public String getAuthor()
{
return txAuthor.getText();
}
/**
* Defines the Author of the report. Any freeform text is valid. This defaults to the value of
* the systemProperty "user.name".
*
* @param author the name of the author.
*/
public void setAuthor(final String author)
{
this.txAuthor.setText(author);
}
/**
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -