如何将焦点放在“org.eclipse.jface.dialogs.MessageDialog”的第二个按钮上

时间:2012-11-14 08:35:12

标签: java eclipse-plugin

我正在尝试使用以下代码显示消息对话框:

MessageDialog dialog = new MessageDialog(shell, "My Title", null,
             "Are you Sure?", MessageDialog.CONFIRM, 
              new String[] { "Yes","No" }, 0);

唯一的问题是,当消息对话框显示时,它会在"Yes"按钮上显示焦点,因此如果用户按默认输入,则会按下"Yes"如何将焦点放在“否”按钮上,以便在用户点击时输入“否”被按下。

请注意我不想更改按钮的顺序。它应该是第一个是和否。

1 个答案:

答案 0 :(得分:1)

只需将最后一个构造函数参数设置为您希望作为默认值的按钮的索引。 根据Javadoc:

public MessageDialog(Shell parentShell,
                 String dialogTitle,
                 Image dialogTitleImage,
                 String dialogMessage,
                 int dialogImageType,
                 String[] dialogButtonLabels,
                 int defaultIndex)

defaultIndex - 默认按钮

的按钮标签数组中的索引