From 2868d867cd3d3f1e42f1017b339ff5a62f0a03a2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Tue, 20 Jan 2009 07:30:11 +0100 Subject: [PATCH] Add base class for panels that display a key store. --- .../jkeytool/gui/AbstractKeyStorePanel.java | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/net/pterodactylus/jkeytool/gui/AbstractKeyStorePanel.java diff --git a/src/net/pterodactylus/jkeytool/gui/AbstractKeyStorePanel.java b/src/net/pterodactylus/jkeytool/gui/AbstractKeyStorePanel.java new file mode 100644 index 0000000..8eece78 --- /dev/null +++ b/src/net/pterodactylus/jkeytool/gui/AbstractKeyStorePanel.java @@ -0,0 +1,87 @@ +/* + * jkeytool - KeystoreWindow.java - + * Copyright © 2009 David Roden + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +package net.pterodactylus.jkeytool.gui; + +import java.awt.BorderLayout; +import java.security.KeyStore; + +import javax.swing.JPanel; + +/** + * A {@link JPanel} that displays all key store entries and information about + * them. + * + * @author David Roden <droden@gmail.com> + */ +public abstract class AbstractKeyStorePanel extends JPanel { + + /** The key store. */ + protected final KeyStore keyStore; + + /** + * Creates a new key store panel. + * + * @param keyStore + * The key store to display + */ + protected AbstractKeyStorePanel(KeyStore keyStore) { + super(new BorderLayout()); + this.keyStore = keyStore; + } + + // + // SUBCLASS METHODS + // + + /** + * Creates the panel that lets the user select a key store entry and adds it + * to this key store panel. The created panel should be placed in the + * {@link BorderLayout#WEST} or {@link BorderLayout#NORTH} area of the key + * store panel. + */ + protected abstract void createEntryPanel(); + + // + // PROTECTED METHODS + // + + /** + * Called by a subclass when a key store entry has been selected. + * + * @param alias + * The selected key store entry alias, or null if no + * entry has been selected or the selection has been cleared + */ + protected void selectedEntry(String alias) { + System.out.println(alias); + } + + /** + * Creates the content panels. + */ + protected void construct() { + createEntryPanel(); + } + + // + // PRIVATE METHODS + // + +} -- 2.7.4