import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MainWindow extends JDialog implements ChangeListener, ActionListener { private JPanel contentPane; private JTextArea publicKeytextArea; private JTextArea privateKeyTextArea; private JTextField plainNumber; private JTextField encryptedNumber2; private JButton cryptButton; private JButton decryptButton; private JButton generateKeysButton; private JTextField encryptedNumber; private JTextField decryptedNumber; private JSlider keylength; private JLabel keylengthLabel; private JButton buttonOK; public MainWindow() { setContentPane(contentPane); setModal(true); getRootPane().setDefaultButton(buttonOK); generateKeysButton.addActionListener(this); cryptButton.addActionListener(this); decryptButton.addActionListener(this); keylength.setMinimum(8); keylength.setMaximum(64); keylength.setMajorTickSpacing(10); keylength.setMinorTickSpacing(5); keylength.setValue(32); keylength.setPaintTicks(true); keylength.setPaintLabels(true); keylength.addChangeListener(this); keylengthLabel.setText(String.valueOf(keylength.getValue())); } public void stateChanged(ChangeEvent e){ JSlider source = (JSlider)e.getSource(); if (source == this.keylength) { int value = source.getValue(); this.keylengthLabel.setText(String.valueOf(value)); } } public void actionPerformed(ActionEvent e) { JButton source = (JButton) e.getSource(); if (source == this.cryptButton) { System.out.println("crypt button clicked!"); } else if (source == this.decryptButton) { System.out.println("decrypt button clicked!"); } else if (source == this.generateKeysButton) { System.out.println("Generate button clicked!"); } } public static void main(String[] args) { MainWindow dialog = new MainWindow(); dialog.pack(); dialog.setVisible(true); dialog.setSize(800, 600); System.exit(0); } }