X-Git-Url: https://git.pterodactylus.net/?p=jkeytool.git;a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjkeytool%2Fgui%2Fswing%2FSwingInterface.java;h=107dc8d1938ad15b39bff7eb3044cf9a6d29d228;hp=3190c2a426aba61306f88a3f6eb09c7f010664fa;hb=7255bdf4430ded3abfbc342f15ccd9091b9617b7;hpb=5e44623aa5fadee1d0c4f605aebee442330e1ae5 diff --git a/src/net/pterodactylus/jkeytool/gui/swing/SwingInterface.java b/src/net/pterodactylus/jkeytool/gui/swing/SwingInterface.java index 3190c2a..107dc8d 100644 --- a/src/net/pterodactylus/jkeytool/gui/swing/SwingInterface.java +++ b/src/net/pterodactylus/jkeytool/gui/swing/SwingInterface.java @@ -19,16 +19,24 @@ package net.pterodactylus.jkeytool.gui.swing; +import java.awt.BorderLayout; +import java.awt.event.ActionEvent; import java.io.File; import java.security.KeyStore; import java.util.HashMap; import java.util.Map; +import javax.swing.Action; +import javax.swing.BorderFactory; +import javax.swing.JComponent; import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JTabbedPane; import net.pterodactylus.jkeytool.core.Core; import net.pterodactylus.jkeytool.gui.Interface; import net.pterodactylus.jkeytool.main.Main; +import net.pterodactylus.util.i18n.gui.I18nAction; import net.pterodactylus.util.swing.StatusBar; /** @@ -44,25 +52,76 @@ public class SwingInterface implements Interface { /** The main frame. */ private JFrame mainFrame = new JFrame("jkeytool " + Main.getVersion()); + /** The tab pane. */ + private JTabbedPane tabPane = new JTabbedPane(); + /** The status bar. */ private StatusBar statusBar = new StatusBar(); + /** The “create key store” action. */ + private Action createKeyStoreAction; + + /** The “quit” action. */ + private Action quitAction; + /** Loaded key stores and their panels. */ private final Map keyStores = new HashMap(); public SwingInterface() { + createActions(); createFrame(); } // + // ACTIONS + // + + private void createKeyStore() { + } + + private void quit() { + System.exit(0); + } + + // // PRIVATE METHODS // + private void createActions() { + createKeyStoreAction = new I18nAction("jkeytool.action.createKeyStore") { + + @SuppressWarnings("synthetic-access") + public void actionPerformed(ActionEvent actionEvent) { + createKeyStore(); + } + }; + quitAction = new I18nAction("jkeytool.action.quit") { + + /** + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + @SuppressWarnings("synthetic-access") + public void actionPerformed(ActionEvent actionEvent) { + quit(); + } + }; + } + private void createFrame() { + mainFrame.getContentPane().add(createCenterPanel(), BorderLayout.CENTER); mainFrame.getContentPane().add(statusBar, BorderLayout.PAGE_END); mainFrame.pack(); } + private JComponent createCenterPanel() { + JPanel centerPanel = new JPanel(new BorderLayout()); + centerPanel.setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6)); + + centerPanel.add(tabPane, BorderLayout.CENTER); + + return centerPanel; + } + // // INTERFACE Interface // @@ -110,6 +169,7 @@ public class SwingInterface implements Interface { public void keyStoreLoaded(File keyStoreFile, KeyStore keyStore) { KeyStorePanel keyStorePanel = new KeyStorePanel(keyStore); keyStores.put(keyStore, keyStorePanel); + tabPane.addTab(keyStoreFile.getName(), keyStorePanel); } /**