package com.thoughtworks.testdox;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import java.awt.peer.TextComponentPeer;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.*;
import java.io.IOException;
public abstract class SaveAsGui extends JPanel implements DocumentGeneratorGui{
JFileChooser fileChooser;
JButton saveAsButton;
JTextField fileName;
TitledBorder titledBorder;
private ActionListener saveAsButtonActionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileChooser.setDialogTitle("Save As");
if (fileChooser.showSaveDialog(SaveAsGui.this) == JFileChooser.APPROVE_OPTION) {
try {
fileName.setText( fileChooser.getSelectedFile().getCanonicalPath() );
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
};
public SaveAsGui(String helpfulText, String saveAsText) {
fileChooser = new JFileChooser();
saveAsButton = new JButton(saveAsText);
fileName = new JTextField(30);
titledBorder = BorderFactory.createTitledBorder(helpfulText);
setBorder(titledBorder);
setLayout(new FlowLayout());
add(fileName);
add(saveAsButton);
saveAsButton.addActionListener(saveAsButtonActionListener);
}
public boolean isConfigured() {
return fileName.getText().length()>0;
}
public Component getComponent() {
return this;
}
}