package com.ppfold.main; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.BoxLayout; import javax.swing.ButtonGroup; import javax.swing.JCheckBox; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; public class SequenceExportsGroup extends JPanel { private static final long serialVersionUID = -6196506765119020438L; private JCheckBox sequenceExportBox; private JTextField sequenceNameField; public SequenceExportsGroup(){ this.setLayout(new BoxLayout(this,BoxLayout.LINE_AXIS)); sequenceExportBox = new JCheckBox("Also export data for this sequence: "); sequenceExportBox.setToolTipText("If a sequence is of special interest in the alignment, this will spare you the work of converting" + " alignment coordinates to sequence coordinates."); sequenceNameField = new JTextField(""); sequenceNameField.setEnabled(false); sequenceNameField.setToolTipText("If a sequence is of special interest in the alignment, this will spare you the work of converting" + " alignment coordinates to sequence coordinates."); sequenceExportBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { if(sequenceExportBox.isSelected()){ sequenceNameField.setEnabled(true); } else{ sequenceNameField.setEnabled(false); } updateFileHandle(); } }); sequenceNameField.getDocument().addDocumentListener(new DocumentListener(){ public void changedUpdate(DocumentEvent arg0) {updateFileHandle();} public void insertUpdate(DocumentEvent arg0) {updateFileHandle();} public void removeUpdate(DocumentEvent arg0) {updateFileHandle();} }); this.add(sequenceExportBox); this.add(sequenceNameField); } @Override public void setEnabled(boolean value){ sequenceExportBox.setEnabled(value); if(value==true && sequenceExportBox.isSelected()){ sequenceNameField.setEnabled(true); } else{ sequenceNameField.setEnabled(false); } } public void updateFileHandle(){ if(sequenceExportBox.isSelected() && !sequenceNameField.getText().trim().isEmpty()){ PPfoldMain.seqexportname = sequenceNameField.getText().trim(); } else{ PPfoldMain.seqexportname = null; } } }