private void initComponents()

in taverna-credential-manager-ui/src/main/java/org/apache/taverna/workbench/ui/credentialmanager/NewTrustCertsDialog.java [88:188]


	private void initComponents() {
		// Instructions
		JLabel instructionsLabel = new JLabel(
				"Select one or more certificates for import:");
		instructionsLabel.setFont(new Font(null, PLAIN, 11));
		instructionsLabel.setBorder(new EmptyBorder(5, 5, 5, 5));
		JPanel instructionsPanel = new JPanel(new BorderLayout());
		instructionsPanel.add(instructionsLabel, WEST);

		// Import button
		final JButton importButton = new JButton("Import");
		importButton.setEnabled(false);
		importButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent evt) {
				importPressed();
			}
		});

		// Certificate details button
		final JButton certificateDetailsButton = new JButton(
				"Certificate Details");
		certificateDetailsButton.setEnabled(false);
		certificateDetailsButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent evt) {
				certificateDetailsPressed();
			}
		});

		// List with trusted certs' aliases
		trustedCertsJList = new JList<>();
		trustedCertsJList.setSelectionMode(MULTIPLE_INTERVAL_SELECTION);
		trustedCertsJList.addListSelectionListener(new ListSelectionListener() {
			@Override
			public void valueChanged(ListSelectionEvent evt) {
				boolean enabled = trustedCertsJList.getSelectedIndex() >= 0;
				importButton.setEnabled(enabled);
				certificateDetailsButton.setEnabled(enabled);
			}
		});
		// Populate the list - get the certificate subjects' CNs
		ArrayList<String> cns = new ArrayList<>();
		for (int i = 0; i < availableTrustedCerts.size(); i++) {
			String subjectDN = ((X509Certificate) availableTrustedCerts.get(i))
					.getSubjectX500Principal().getName(RFC2253);
			ParsedDistinguishedName parsedDN = dnParser.parseDN(subjectDN);
			String subjectCN = parsedDN.getCN();
			cns.add(i, subjectCN);
		}
		trustedCertsJList.setListData(cns.toArray(new String[0]));
		trustedCertsJList.setSelectedIndex(0);

		// Put the list into a scroll pane
		JScrollPane trustedCertsScrollPanel = new JScrollPane(
				trustedCertsJList, VERTICAL_SCROLLBAR_AS_NEEDED,
				HORIZONTAL_SCROLLBAR_AS_NEEDED);
		trustedCertsScrollPanel.getViewport().setBackground(
				trustedCertsJList.getBackground());

		JPanel trustedCertsPanel = new JPanel();
		trustedCertsPanel.setLayout(new BoxLayout(trustedCertsPanel, Y_AXIS));
		trustedCertsPanel.setBorder(new CompoundBorder(new CompoundBorder(
				new EmptyBorder(5, 5, 5, 5), new EtchedBorder()),
				new EmptyBorder(5, 5, 5, 5)));

		instructionsPanel.setAlignmentY(LEFT_ALIGNMENT);
		trustedCertsPanel.add(instructionsPanel);
		trustedCertsScrollPanel.setAlignmentY(LEFT_ALIGNMENT);
		trustedCertsPanel.add(trustedCertsScrollPanel);
		certificateDetailsButton.setAlignmentY(RIGHT_ALIGNMENT);
		trustedCertsPanel.add(certificateDetailsButton);

		// Cancel button
		final JButton cancelButton = new JButton("Cancel");
		cancelButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent evt) {
				cancelPressed();
			}
		});

		JPanel jpButtons = new JPanel(new FlowLayout(FlowLayout.CENTER));
		jpButtons.add(importButton);
		jpButtons.add(cancelButton);

		getContentPane().setLayout(new BorderLayout());
		getContentPane().add(trustedCertsPanel, CENTER);
		getContentPane().add(jpButtons, SOUTH);

		addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent evt) {
				closeDialog();
			}
		});

		setResizable(false);
		getRootPane().setDefaultButton(importButton);
		pack();
	}