package org.docear.plugin.bibtex.dialogs;
import org.docear.metadata.events.CaptchaEvent;
import org.docear.plugin.core.ui.wizard.AWizardPage;
import org.docear.plugin.core.ui.wizard.WizardSession;
import org.freeplane.core.util.TextUtils;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.RowSpec;
import com.jgoodies.forms.factories.FormFactory;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;
public class CaptchaRequestPage extends AWizardPage {
public CaptchaRequestPage() {
setBackground(Color.WHITE);
setLayout(new FormLayout(new ColumnSpec[] {
FormFactory.RELATED_GAP_COLSPEC,
ColumnSpec.decode("default:grow"),
FormFactory.RELATED_GAP_COLSPEC,},
new RowSpec[] {
FormFactory.RELATED_GAP_ROWSPEC,
RowSpec.decode("default:grow"),
FormFactory.RELATED_GAP_ROWSPEC,
FormFactory.DEFAULT_ROWSPEC,
FormFactory.RELATED_GAP_ROWSPEC,}));
JPanel panel = new JPanel();
panel.setBorder(new LineBorder(new Color(0, 0, 0)));
panel.setBackground(Color.WHITE);
add(panel, "2, 2, fill, fill");
panel.setLayout(new FormLayout(new ColumnSpec[] {
ColumnSpec.decode("default:grow"),},
new RowSpec[] {
RowSpec.decode("default:grow"),}));
labelImage = new JLabel("");
panel.add(labelImage, "1, 1");
JPanel panel_1 = new JPanel();
panel_1.setBackground(Color.WHITE);
add(panel_1, "2, 4, fill, fill");
panel_1.setLayout(new FormLayout(new ColumnSpec[] {
FormFactory.DEFAULT_COLSPEC,
FormFactory.RELATED_GAP_COLSPEC,
ColumnSpec.decode("default:grow"),},
new RowSpec[] {
FormFactory.DEFAULT_ROWSPEC,}));
JLabel labelTextfield = new JLabel(TextUtils.getText("docear.metadata.extraction.captcha.enter"));
panel_1.add(labelTextfield, "1, 1, right, default");
textField = new JTextField();
panel_1.add(textField, "3, 1, fill, default");
textField.setColumns(10);
}
private static final long serialVersionUID = 1L;
private JTextField textField;
private JLabel labelImage;
@Override
public String getTitle() {
return TextUtils.getText("docear.metadata.extraction.captcha.title");
}
@Override
public void preparePage(WizardSession session) {
final CaptchaEvent event = session.get(CaptchaEvent.class);
this.labelImage.setIcon(new ImageIcon(event.getCaptcha()));
session.setWizardTitle(getTitle());
session.getBackButton().setVisible(true);
session.getNextButton().setText(TextUtils.getText("ok"));
session.getBackButton().setText(TextUtils.getText("cancel"));
session.getNextButton().addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
event.setSolvedCaptcha(textField.getText());
}
});
session.getBackButton().addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
event.setCanceled(true);
}
});
}
}