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 morse 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 Markstršm */ public class MainWindowTest extends JFrame { private JLabel headerLabel; private JButton convertButton; private JTextArea textArea, result; public MainWindowTest(){ //For collecting all important program parts. JPanel mainPanel = new JPanel(); //HEADER!!! headerLabel = new JLabel("This is one awesome morse code converter!"); //Text area for entering plain text and viewing result textArea = new JTextArea(); result = new JTextArea(); textArea.setPreferredSize(new Dimension(200,100)); result.setPreferredSize(new Dimension(200,100)); //And some awesome button action. convertButton = new JButton("Convert to morse!"); convertButton.setPreferredSize(new Dimension(90,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 morse yet..."); } }); //Configure this frame this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setSize(600,150); mainPanel.setLayout(new FlowLayout()); //Add all panels to the frame mainPanel.add(textArea); mainPanel.add(convertButton); mainPanel.add(result); this.setLayout(new BorderLayout()); this.add(headerLabel, BorderLayout.NORTH); this.add(mainPanel, BorderLayout.CENTER); this.setVisible(true); } /** * Main entrance to the world! */ public static void main(String[] args) { new MainWindowTest(); } }