package org.wiztools.restclient.ui.reqssl; import java.awt.FlowLayout; import java.awt.event.ItemListener; import javax.swing.ButtonGroup; import javax.swing.JPanel; import javax.swing.JRadioButton; import org.wiztools.restclient.bean.KeyStoreType; /** * * @author subwiz */ public class StoreTypePanel extends JPanel { private final JRadioButton jrb_jks = new JRadioButton(KeyStoreType.JKS.name()); private final JRadioButton jrb_pkcs12 = new JRadioButton(KeyStoreType.PKCS12.name()); private final JRadioButton jrb_pem = new JRadioButton(KeyStoreType.PEM.name()); public StoreTypePanel() { this.setLayout(new FlowLayout(FlowLayout.LEFT)); ButtonGroup grp = new ButtonGroup(); grp.add(jrb_jks); grp.add(jrb_pkcs12); grp.add(jrb_pem); // JKS to be selected by default: jrb_jks.setSelected(true); add(jrb_jks); add(jrb_pkcs12); add(jrb_pem); } public KeyStoreType getSelectedKeyStoreType() { if(jrb_jks.isSelected()) { return KeyStoreType.JKS; } else if(jrb_pkcs12.isSelected()) { return KeyStoreType.PKCS12; } else if(jrb_pem.isSelected()) { return KeyStoreType.PEM; } return KeyStoreType.PEM; } public void setSelectedKeyStoreType(KeyStoreType type) { switch(type) { case JKS: jrb_jks.setSelected(true); break; case PKCS12: jrb_pkcs12.setSelected(true); break; case PEM: jrb_pem.setSelected(true); break; default: throw new IllegalArgumentException("Unknown keystore-type: " + type); } } public void addItemListener(ItemListener listener, KeyStoreType ... types) { for(KeyStoreType type: types) { switch(type) { case JKS: jrb_jks.addItemListener(listener); break; case PKCS12: jrb_pkcs12.addItemListener(listener); break; case PEM: jrb_pem.addItemListener(listener); break; default: throw new IllegalArgumentException("Unknown keystore-type: " + type); } } } }