考虑到最简单的代码:
//getDialogResponse() cannot be changed.
public static int getDialogResponse() {
return JOptionPane.showConfirmDialog(null, "Make a really important choice.", "THE CHOICE", JOptionPane.YES_NO_CANCEL_OPTION);
}
public static void main(String[] args) {
int[] val = new int[1];
SwingUtilities.invokeLater(() -> {val[0] = getDialogResponse();});
//TODO: The program itself presses the 'Yes' button.
if(val[0] == JOptionPane.YES_OPTION) System.out.println("Good Choice.");
else System.out.println("Wise guy, huh?!");
}
Robot
似乎不合适,因为它需要知道新创建的对话框的位置,如果它不是每次都在同一个位置,它将无法工作,所以我需要知道如何获取按钮本身的位置,或者我需要知道一个不依赖于新创建的对话框位置的方法。
另外,我无法更改getDialogResponse()
代码:这是一个不变量。
那我该怎么办?