import java.util.*;\r
import javax.swing.*;\r
\r
-public final class FirstPanel extends JPanel implements ActionListener, UI {\r
+public final class FirstPanel extends JPanel implements ActionListener, ItemListener, UI {\r
/**\r
* Define class Serial Version UID\r
*/\r
private JTextField moduletext;\r
private JTextArea log;\r
private JFileChooser fc;\r
- private JCheckBox filebox, screenbox;\r
+ private JCheckBox filebox, screenbox, mibox, criticbox, defaultpathbox;\r
\r
private boolean tofile = true, toscreen = true;\r
private PrintWriter logfile;\r
\r
FirstPanel() throws Exception {\r
+ GridBagLayout gridbag = new GridBagLayout();\r
+ setLayout(gridbag);\r
+ \r
+ GridBagConstraints cst = new GridBagConstraints();\r
+ \r
goButton = new JButton("Go");\r
goButton.addActionListener(this);\r
goButton.setActionCommand("go");\r
moduletext = new JTextField(30);\r
\r
filebox = new JCheckBox("Output to logfile", true);\r
+ filebox.addItemListener(this);\r
screenbox = new JCheckBox("Specify logfile", false);\r
+ screenbox.addItemListener(this);\r
+ mibox = new JCheckBox("Show ModuleInfo", false);\r
+ mibox.addItemListener(this);\r
+ criticbox = new JCheckBox("Run Critic", true);\r
+ criticbox.addItemListener(this);\r
+ defaultpathbox = new JCheckBox("Use Default Output Path", true);\r
+ defaultpathbox.addItemListener(this);\r
\r
JPanel modulePanel = new JPanel();\r
modulePanel.add(moduleButton);\r
modulePanel.add(moduletext);\r
- modulePanel.add(filebox);\r
- modulePanel.add(screenbox);\r
modulePanel.add(goButton);\r
//modulePanel.add(msaEditorButton);\r
- modulePanel.add(criticButton);\r
+ cst.gridx = 0;\r
+ cst.gridy = 0;\r
+ //cst.gridwidth = GridBagConstraints.REMAINDER;\r
+ gridbag.setConstraints(modulePanel, cst);\r
add(modulePanel);\r
\r
- log = new JTextArea(20,25);\r
+ cst.gridx = 1;\r
+ cst.gridy = 0;\r
+ gridbag.setConstraints(criticButton, cst);\r
+ add(criticButton);\r
+ \r
+ JPanel checkboxPanel = new JPanel();\r
+ checkboxPanel.setLayout(new BoxLayout(checkboxPanel, BoxLayout.Y_AXIS));\r
+ checkboxPanel.add(filebox);\r
+ checkboxPanel.add(screenbox);\r
+ checkboxPanel.add(mibox);\r
+ checkboxPanel.add(criticbox);\r
+ checkboxPanel.add(defaultpathbox);\r
+ cst.gridx = 1;\r
+ cst.gridy = 1;\r
+ //cst.gridheight = 2;\r
+ gridbag.setConstraints(checkboxPanel, cst);\r
+ add(checkboxPanel);\r
+ \r
+ log = new JTextArea(10,20);\r
log.setMargin(new Insets(5,5,5,5));\r
log.setEditable(false);\r
JScrollPane logScrollPane = new JScrollPane(log);\r
+ cst.gridx = 0;\r
+ cst.gridy = 1;\r
+ cst.fill = GridBagConstraints.BOTH;\r
+ gridbag.setConstraints(logScrollPane, cst);\r
add(logScrollPane);\r
\r
fc = new JFileChooser();\r
}\r
\r
public void itemStateChanged(ItemEvent e) {\r
- if (e.getStateChange() == ItemEvent.DESELECTED) {\r
- System.out.println("changed");\r
+ if (e.getSource() == filebox) {\r
+ if (e.getStateChange() == ItemEvent.DESELECTED) {\r
+ System.out.println("filebox DESELECTED");\r
+ } else if (e.getStateChange() == ItemEvent.SELECTED) {\r
+ System.out.println("filebox SELECTED");\r
+ }\r
+ } else if (e.getSource() == screenbox) {\r
+ if (e.getStateChange() == ItemEvent.DESELECTED) {\r
+ System.out.println("screenbox DESELECTED");\r
+ } else if (e.getStateChange() == ItemEvent.SELECTED) {\r
+ System.out.println("screenbox SELECTED");\r
+ }\r
+ } else if (e.getSource() == mibox) {\r
+ if (e.getStateChange() == ItemEvent.DESELECTED) {\r
+ System.out.println("mibox DESELECTED");\r
+ } else if (e.getStateChange() == ItemEvent.SELECTED) {\r
+ System.out.println("mibox SELECTED");\r
+ }\r
+ } else if (e.getSource() == criticbox) {\r
+ if (e.getStateChange() == ItemEvent.DESELECTED) {\r
+ System.out.println("criticbox DESELECTED");\r
+ } else if (e.getStateChange() == ItemEvent.SELECTED) {\r
+ System.out.println("criticbox SELECTED");\r
+ }\r
+ } else if (e.getSource() == defaultpathbox) {\r
+ if (e.getStateChange() == ItemEvent.DESELECTED) {\r
+ System.out.println("defaultpathbox DESELECTED");\r
+ } else if (e.getStateChange() == ItemEvent.SELECTED) {\r
+ System.out.println("defaultpathbox SELECTED");\r
+ }\r
}\r
}\r
\r
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\r
\r
FirstPanel fp = new FirstPanel();\r
- fp.setLayout(new BoxLayout(fp, BoxLayout.Y_AXIS));\r
+ //fp.setLayout(new GridBagLayout());\r
+ //fp.setLayout(new BoxLayout(fp, BoxLayout.Y_AXIS));\r
fp.setOpaque(true);\r
frame.setContentPane(fp);\r
\r