import javax.swing.JPanel;
/**
- * Boilerplate dialog class. Implements basic functionality necessary for model blocking/non-blocking dialogs
- * with an OK and Cancel button ready to add to the content pane.
+ * Boilerplate dialog class. Implements basic functionality necessary for model
+ * blocking/non-blocking dialogs with an OK and Cancel button ready to add to
+ * the content pane.
+ *
* @author jimp
- *
+ *
*/
public abstract class JalviewDialog extends JPanel
{
protected JDialog frame;
+
protected JButton ok = new JButton();
+
protected JButton cancel = new JButton();
- boolean block=false;
-
+
+ boolean block = false;
+
public void waitForInput()
{
if (!block)
}
}
- protected void initDialogFrame(Container content,
- boolean modal, boolean block, String title, int width, int height)
+ protected void initDialogFrame(Container content, boolean modal,
+ boolean block, String title, int width, int height)
{
-
+
frame = new JDialog(Desktop.instance, modal);
frame.setTitle(title);
- if (Desktop.instance!=null)
+ if (Desktop.instance != null)
+ {
+ Rectangle deskr = Desktop.instance.getBounds();
+ frame.setBounds(new Rectangle((int) (deskr.getCenterX() - width / 2),
+ (int) (deskr.getCenterY() - height / 2), width, height));
+ }
+ else
{
- Rectangle deskr = Desktop.instance.getBounds();
- frame.setBounds(new Rectangle((int) (deskr.getCenterX() - width/2),
- (int) (deskr.getCenterY() - height/2), width, height));
- } else {
- frame.setSize(width,height);
+ frame.setSize(width, height);
}
frame.setContentPane(content);
this.block = block;
-
+
ok.setOpaque(false);
ok.setText("OK");
ok.addActionListener(new ActionListener()
});
frame.addWindowListener(new WindowListener()
{
-
+
@Override
public void windowOpened(WindowEvent e)
{
// TODO Auto-generated method stub
-
+
}
-
+
@Override
public void windowIconified(WindowEvent e)
{
// TODO Auto-generated method stub
-
+
}
-
+
@Override
public void windowDeiconified(WindowEvent e)
{
// TODO Auto-generated method stub
-
+
}
-
+
@Override
public void windowDeactivated(WindowEvent e)
{
// TODO Auto-generated method stub
-
+
}
-
+
@Override
public void windowClosing(WindowEvent e)
{
// user has cancelled the dialog
closeDialog();
}
-
+
@Override
public void windowClosed(WindowEvent e)
{
}
-
+
@Override
public void windowActivated(WindowEvent e)
{
// TODO Auto-generated method stub
-
+
}
});
}
+
/**
* clean up and raise the 'dialog closed' event by calling raiseClosed
*/
{
}
}
-
+
protected abstract void raiseClosed();
+
protected abstract void okPressed();
+
protected abstract void cancelPressed();
-
+
}