diff options
| author | Paul Buetow <paul@buetow.org> | 2025-06-06 08:02:52 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-06-06 08:02:52 +0300 |
| commit | 1d99762c7965d351510cfb5e08eac25e48d96038 (patch) | |
| tree | f469493e911878ab9055ccf0494211bf9015922d /src/main/java/utils/VSAboutFrame.java | |
| parent | 4d35597bd92607c4d194686e20b125044506c79a (diff) | |
Modernize project structure, update Maven config, move sources, add logging config, update README and .gitignore
Diffstat (limited to 'src/main/java/utils/VSAboutFrame.java')
| -rw-r--r-- | src/main/java/utils/VSAboutFrame.java | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/main/java/utils/VSAboutFrame.java b/src/main/java/utils/VSAboutFrame.java new file mode 100644 index 0000000..e07289f --- /dev/null +++ b/src/main/java/utils/VSAboutFrame.java @@ -0,0 +1,87 @@ +package utils; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Container; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JPanel; +import javax.swing.JScrollPane; + +//import utils.*; +import prefs.VSPrefs; + +/** + * The class VSAboutFrame. This class is only for the about window which + * shows up if selected in the GUI. + * + * @author Paul C. Buetow + */ +public class VSAboutFrame extends VSFrame { + /** The prefs. */ + private VSPrefs prefs; + + /** + * Instantiates a new VSAboutFrame object. + * + * @param prefs the prefs + * @param relativeTo the component to open the about window relative to + */ + public VSAboutFrame(VSPrefs prefs, Component relativeTo) { + super(prefs.getString("lang.name") + " - " + + prefs.getString("lang.about"), relativeTo); + this.prefs = prefs; + + disposeWithParent(); + setContentPane(createContentPane()); + setSize(350, 250); + setResizable(false); + setVisible(true); + } + + /** + * Creates the content pane. + * + * @return the container + */ + public Container createContentPane() { + Container contentPane = getContentPane(); + + VSInfoArea infoArea = new VSInfoArea( + prefs.getString("lang.about.info")); + JPanel buttonPane = createButtonPanel(); + JScrollPane scrollPane = new JScrollPane(infoArea); + + contentPane.add(scrollPane, BorderLayout.CENTER); + contentPane.add(buttonPane, BorderLayout.SOUTH); + + return contentPane; + } + + /** + * Creates the button panel. + * + * @return the panel + */ + public JPanel createButtonPanel() { + JPanel buttonPane = new JPanel(); + buttonPane.setBackground(Color.WHITE); + + JButton closeButton = new JButton( + prefs.getString("lang.close")); + closeButton.setMnemonic(prefs.getInteger("keyevent.close")); + closeButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + String actionCommand = e.getActionCommand(); + if (actionCommand.equals(prefs.getString("lang.close"))) + dispose(); + } + }); + buttonPane.add(closeButton); + + return buttonPane; + } +} |
