import jalview.bin.Console;
import jalview.util.ChannelProperties;
+import jalview.util.MessageManager;
import jalview.util.Platform;
import jalview.util.dialogrunner.DialogRunnerI;
}
public static JvOptionPane frameDialog(String message, String title,
- int messageType, String[] buttonsText, String defaultButton,
+ int messageType, String[] buttonsTextS, String defaultButtonS,
Callable<Void>[] handlers, boolean modal)
{
JFrame parent = new JFrame();
JvOptionPane jvop = JvOptionPane.newOptionDialog();
+ final String[] buttonsText;
+ final String defaultButton;
+ if (buttonsTextS == null)
+ {
+ String ok = MessageManager.getString("action.ok");
+ buttonsText = new String[] { ok };
+ defaultButton = ok;
+ }
+ else
+ {
+ buttonsText = buttonsTextS;
+ defaultButton = defaultButtonS;
+ }
JButton[] buttons = new JButton[buttonsText.length];
for (int i = 0; i < buttonsText.length; i++)
{
{
dialogType = JOptionPane.YES_NO_CANCEL_OPTION;
}
- jvop.setResponseHandler(JOptionPane.YES_OPTION, handlers[0]);
+ Callable<Void> nullCallable = () -> {
+ return null;
+ };
+ jvop.setResponseHandler(JOptionPane.YES_OPTION,
+ (handlers != null && handlers.length > 0) ? handlers[0]
+ : nullCallable);
if (dialogType == JOptionPane.YES_NO_OPTION
|| dialogType == JOptionPane.YES_NO_CANCEL_OPTION)
{
- jvop.setResponseHandler(JOptionPane.NO_OPTION, handlers[1]);
+ jvop.setResponseHandler(JOptionPane.NO_OPTION,
+ (handlers != null && handlers.length > 1) ? handlers[1]
+ : nullCallable);
}
if (dialogType == JOptionPane.YES_NO_CANCEL_OPTION)
{
- jvop.setResponseHandler(JOptionPane.CANCEL_OPTION, handlers[2]);
+ jvop.setResponseHandler(JOptionPane.CANCEL_OPTION,
+ (handlers != null && handlers.length > 2) ? handlers[2]
+ : nullCallable);
}
final int dt = dialogType;