package org.limewire.ui.swing.options.actions;
import java.awt.event.ActionEvent;
import javax.swing.Action;
import javax.swing.JComponent;
import javax.swing.JDialog;
import org.limewire.ui.swing.action.AbstractAction;
import org.limewire.ui.swing.components.FocusJOptionPane;
/**
* Creates a Dialog box for a given contentPane. The dialog is centered around
* the parent component.
*/
public class DialogDisplayAction extends AbstractAction {
private JDialog dialog;
private JComponent parent;
private JComponent contentPane;
private String title;
public DialogDisplayAction(JComponent parent, JComponent contentPane, String title, String actionText, String tooltip) {
this.parent = parent;
this.contentPane = contentPane;
this.title = title;
putValue(Action.NAME, actionText);
putValue(Action.SHORT_DESCRIPTION, tooltip);
}
@Override
public void actionPerformed(ActionEvent e) {
if(dialog == null) {
dialog = FocusJOptionPane.createDialog(title, parent, contentPane);
}
if(!dialog.isVisible()) {
dialog.setLocationRelativeTo(parent);
dialog.setVisible(true);
}
}
}