import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; /** * A main frame window for a cipher code translator... Not yet * finished, thats your job. Feel free to add some artistic * touch to the colour scheme, because it really looks * so grey and boring... :) * * @author Ingemar Markstrom */ public class CipherGUI extends JFrame { private JLabel headerLabel; private JButton convertButton, convertBack; private JTextArea textArea, result, from, back; public CipherGUI(){ //For collecting all important program parts. JPanel mainPanel = new JPanel(); JPanel subPanel = new JPanel(); //HEADER!!! headerLabel = new JLabel("This is the most awesome converter ever created!"); //Text area for entering plain text and viewing result textArea = new JTextArea("Enter some text here.."); result = new JTextArea(); textArea.setPreferredSize(new Dimension(200,100)); result.setPreferredSize(new Dimension(200,100)); from = new JTextArea("Enter ciphered code here!"); back = new JTextArea(); from.setPreferredSize(new Dimension(200,100)); back.setPreferredSize(new Dimension(200,100)); //And some awesome button action. convertButton = new JButton("Do cipher!"); convertButton.setPreferredSize(new Dimension(100,100)); //Here is some standard magic. No rocket surgery thou.. convertButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { result.setText(textArea.getText() + " is not ciphered yet..."); } }); convertBack = new JButton("To text!"); convertBack.setPreferredSize(new Dimension(100,100)); //Here is some standard magic. No rocket surgery thou.. convertBack.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { back.setText(from.getText() + " is not deciphered yet..."); } }); //Configure this frame this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setSize(600,320); mainPanel.setLayout(new FlowLayout()); //Add all panels to the frame mainPanel.add(textArea); mainPanel.add(convertButton); mainPanel.add(result); subPanel.setLayout(new FlowLayout()); //Add all panels to the frame subPanel.add(from); subPanel.add(convertBack); subPanel.add(back); JPanel cent = new JPanel(); cent.setLayout(new GridLayout(2,1)); cent.add(mainPanel); cent.add(subPanel); this.setLayout(new BorderLayout()); this.add(headerLabel, BorderLayout.NORTH); this.add(cent, BorderLayout.CENTER); this.setVisible(true); } /** * Main entrance to the world! */ public static void main(String[] args) { new CipherGUI(); } }