Java tutorial
/*********************************************************** * Portfinder * Copyright 2010-2014 Christian Parkinson * Licensed under the GNU GPL. See COPYING for full terms. ***********************************************************/ package ca.parkie.portfinder.client; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.FormLayout; import javax.swing.*; import java.awt.Dimension; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class NetworkInterfaceDialog { private JPanel contentPane; private JComboBox networkInterfaceCombo; private JButton okButton; private ComboBoxModel model; private JDialog dialog; public NetworkInterfaceDialog(JDialog dialog, String[] networkInterfaces) { this.dialog = dialog; String[] array = new String[networkInterfaces.length + 1]; array[0] = null; System.arraycopy(networkInterfaces, 0, array, 1, networkInterfaces.length); model = new DefaultComboBoxModel(array); networkInterfaceCombo.setModel(model); networkInterfaceCombo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Object selected = model.getSelectedItem(); okButton.setEnabled(selected != null); } }); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { NetworkInterfaceDialog.this.dialog.dispose(); } }); } public JPanel getContentPane() { return contentPane; } public String getNetworkInterface() { return (String) model.getSelectedItem(); } { // GUI initializer generated by IntelliJ IDEA GUI Designer // >>> IMPORTANT!! <<< // DO NOT EDIT OR ADD ANY CODE HERE! $$$setupUI$$$(); } /** * Method generated by IntelliJ IDEA GUI Designer * >>> IMPORTANT!! <<< * DO NOT edit this method OR call it in your code! * * @noinspection ALL */ private void $$$setupUI$$$() { contentPane = new JPanel(); contentPane.setLayout(new FormLayout("fill:d:grow", "center:d:grow")); contentPane.setPreferredSize(new Dimension(370, 51)); final JPanel panel1 = new JPanel(); panel1.setLayout(new FormLayout( "fill:d:noGrow,left:4dlu:noGrow,fill:d:noGrow,left:4dlu:noGrow,fill:max(d;4px):noGrow", "center:30px:noGrow")); CellConstraints cc = new CellConstraints(); contentPane.add(panel1, new CellConstraints(1, 1, 1, 1, CellConstraints.CENTER, CellConstraints.FILL, new Insets(11, 11, 11, 11))); final JLabel label1 = new JLabel(); label1.setText("Select the network interface to use:"); panel1.add(label1, cc.xy(1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT)); networkInterfaceCombo = new JComboBox(); panel1.add(networkInterfaceCombo, cc.xy(3, 1)); okButton = new JButton(); okButton.setEnabled(false); okButton.setText("Ok"); panel1.add(okButton, cc.xy(5, 1)); label1.setLabelFor(networkInterfaceCombo); } /** * @noinspection ALL */ public JComponent $$$getRootComponent$$$() { return contentPane; } }