diff --git a/src/ui/CriterionPanel.java b/src/ui/CriterionPanel.java index 9ece7d7..d0ec786 100644 --- a/src/ui/CriterionPanel.java +++ b/src/ui/CriterionPanel.java @@ -6,8 +6,11 @@ import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; +import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; @@ -24,6 +27,7 @@ private final RadioGroup radioGroup; private final JTextArea txtComment; private final Criterion criterion; + private final JButton clearBtn; private static Dimension selectedSize; @@ -36,24 +40,32 @@ GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 0; - gbc.gridwidth = 2; + gbc.gridwidth = 3; gbc.weightx = 1; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.insets = new Insets(0, 0, 5, 0); this.add(new JLabel(criterion.getDescription()), gbc); - // radio group is left aligned, but doesn't grow + // clear mark buttonleft aligned, but doesn't grow gbc = new GridBagConstraints(); gbc.gridx = 0; gbc.gridy = 1; + clearBtn = new JButton("X"); + + this.add(clearBtn, gbc); + + // radio group is left aligned, but doesn't grow + gbc = new GridBagConstraints(); + gbc.gridx = 1; + gbc.gridy = 1; radioGroup = new RadioGroup(criterion.getMin(), criterion.getMax()); this.add(radioGroup, gbc); // text area is right aligned, but grows in both directions gbc = new GridBagConstraints(); - gbc.gridx = 1; + gbc.gridx = 2; gbc.gridy = 1; gbc.weightx = 1; gbc.weighty = 1; @@ -99,6 +111,13 @@ }); + clearBtn.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent ae) { + radioGroup.clearSelection(); + } + }); + Font font = txtComment.getFont(); Font biggerFont = font.deriveFont(14f); txtComment.setFont(biggerFont); @@ -145,4 +164,3 @@ } } -