X-Git-Url: https://git.pterodactylus.net/?p=jkeytool.git;a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjkeytool%2Fgui%2Fswing%2FSwingInterface.java;h=6a6597e30e867cd471cb2c4a5f10635f9d9f42fd;hp=95c8f9046b178c1cafc99a6e05bd3a6a62b45e0f;hb=0024383ab6e99742fdf45ff5390ef144c3bfc4b1;hpb=e5e4a88c5a229c289d3b43f0d0b1d4b4df91c9fb diff --git a/src/net/pterodactylus/jkeytool/gui/swing/SwingInterface.java b/src/net/pterodactylus/jkeytool/gui/swing/SwingInterface.java index 95c8f90..6a6597e 100644 --- a/src/net/pterodactylus/jkeytool/gui/swing/SwingInterface.java +++ b/src/net/pterodactylus/jkeytool/gui/swing/SwingInterface.java @@ -19,16 +19,22 @@ package net.pterodactylus.jkeytool.gui.swing; +import java.awt.BorderLayout; import java.io.File; import java.security.KeyStore; import java.util.HashMap; import java.util.Map; +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.swing.StatusBar; /** * TODO @@ -43,9 +49,38 @@ 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(); + /** Loaded key stores and their panels. */ private final Map keyStores = new HashMap(); + public SwingInterface() { + createFrame(); + } + + // + // PRIVATE METHODS + // + + 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 // @@ -65,6 +100,7 @@ public class SwingInterface implements Interface { */ public void start() { mainFrame.setVisible(true); + statusBar.setText("jkeytool startup complete."); core.loadKeyStore(new File("client.p12")); } @@ -92,7 +128,7 @@ public class SwingInterface implements Interface { public void keyStoreLoaded(File keyStoreFile, KeyStore keyStore) { KeyStorePanel keyStorePanel = new KeyStorePanel(keyStore); keyStores.put(keyStore, keyStorePanel); - mainFrame.getContentPane().add(keyStorePanel); + tabPane.addTab(keyStoreFile.getName(), keyStorePanel); } /**