package org.jabref.gui.shared; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.KeyStroke; import javax.swing.border.EmptyBorder; import org.jabref.gui.JabRefDialog; import org.jabref.gui.help.HelpAction; import org.jabref.logic.help.HelpFile; import org.jabref.logic.l10n.Localization; public class MigrationHelpDialog extends JabRefDialog { public MigrationHelpDialog(ConnectToSharedDatabaseDialog openSharedDatabaseDialog) { super(openSharedDatabaseDialog, Localization.lang("Migration help information"), MigrationHelpDialog.class); String migrationMessage = Localization .lang("Entered database has obsolete structure and is no longer supported."); JLabel migrationLabel = new JLabel(migrationMessage); migrationLabel.setAlignmentX(Component.LEFT_ALIGNMENT); String helpMessage = Localization.lang("Click here to learn about the migration of pre-3.6 databases."); JLabel helpLabel = new HelpAction(HelpFile.SQL_DATABASE_MIGRATION).getHelpLabel(helpMessage); helpLabel.setAlignmentX(Component.LEFT_ALIGNMENT); String informationMessage = Localization.lang("However, a new database was created alongside the pre-3.6 one."); JLabel informationLabel = new JLabel(informationMessage); informationLabel.setAlignmentX(Component.LEFT_ALIGNMENT); Action openAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { openSharedDatabaseDialog.openSharedDatabase(); } }; JButton okButton = new JButton(Localization.lang("OK")); okButton.addActionListener(openAction); okButton.setAlignmentX(Component.CENTER_ALIGNMENT); okButton.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "Enter_pressed"); okButton.getActionMap().put("Enter_pressed", openAction); JPanel buttonPanel = new JPanel(); buttonPanel.add(okButton, BorderLayout.CENTER); JPanel contentPanel = new JPanel(); contentPanel.setBorder(new EmptyBorder(9, 9, 9, 9)); contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS)); contentPanel.add(migrationLabel); contentPanel.add(Box.createRigidArea(new Dimension(0, 10))); contentPanel.add(helpLabel); contentPanel.add(Box.createRigidArea(new Dimension(0, 10))); contentPanel.add(informationLabel); contentPanel.add(Box.createRigidArea(new Dimension(0, 20))); contentPanel.add(buttonPanel); add(contentPanel); setResizable(false); pack(); setLocationRelativeTo(openSharedDatabaseDialog); } }