JButton browseStimuli = new JButton("Browse");
browseStimuli.setActionCommand("browseStimuli");
browseStimuli.addActionListener(this);
setLayout(new MigLayout("fill, wrap 1", "[fill, grow]"));
add(titleComponent(m_nameField, "Test name"));
add(titleComponent(m_headerField, "Header"));
add(titleComponent(m_passwordField, "Password"));
JPanel typePanel = new JPanel(new MigLayout("fill, insets 0", "[fill]"));
typePanel.add(m_standardButton);
typePanel.add(m_ddButton);
typePanel.add(m_syncButton);
add(titleComponent(typePanel, "Test type"));
JPanel pausePanel = new JPanel(new MigLayout("fill, nogrid, insets 0", "[fill]"));
pausePanel.add(pauseLabel, "grow 0, sg label");
pausePanel.add(m_pauseDelayField, "alignx left, w 50lp!");
pausePanel.add(m_pauseMinutesButton, "grow 0");
pausePanel.add(m_pausePagesButton, "wrap, grow 0, gapright push");
pausePanel.add(pauseMessageLabel, "sg label");
pausePanel.add(m_pauseMessageField, "growx");
add(titleComponent(pausePanel, "Pauses"));
JPanel resultsPanel = new JPanel(new MigLayout("fill, insets 0"));
resultsPanel.add(m_resultsField, "growx");
resultsPanel.add(browseResults);
add(titleComponent(resultsPanel, "Results storage"));
JPanel stimuliPanel = new JPanel(new MigLayout("fill, insets 0"));
stimuliPanel.add(m_stimuliField, "growx");
stimuliPanel.add(browseStimuli);
add(titleComponent(stimuliPanel, "Stimuli source"));
JPanel labelPanel = new JPanel(new MigLayout("fill, wrap 2, insets 0", "[sg, fill]"));
labelPanel.add(m_startField);
labelPanel.add(m_endField);
labelPanel.add(m_nextField);
labelPanel.add(m_previousField);
labelPanel.add(m_upField);