2013-06-24 45 views
1

我有这两个不同的选项的问题,第一个打开就好了浏览器以供将来使用,但第二个选项打开浏览器,而不是我想要的对话喜欢开放。也有人可以告诉我如何取消取消按钮,而不是打开浏览器,在此先感谢这里的代码。与2选项的问题选择

public static void CheckForUpdates(){ 
Object[] possibleValues = { "Check for Updates", "Check for version ID" }; 
Object selectedValue = JOptionPane.showInputDialog(null, 
"What would you like to do?", "", 
JOptionPane.INFORMATION_MESSAGE, null, 
possibleValues, possibleValues[0]); 
if (JOptionPane.YES_NO_OPTION == JOptionPane.YES_OPTION) { 
     try { 
      Desktop.getDesktop().browse(new URI("www.google.ca")); 
     } catch (IOException | URISyntaxException e) { 
    } 
    if (JOptionPane.YES_NO_OPTION == JOptionPane.NO_OPTION){ 
     JOptionPane.showMessageDialog(frame, "version ID: V1"); 
    } 
} 
    } 

回答

1

比较常数是确定的,即你没有得到任何行为上的变化。

您需要检查showInputDialog这是一个Object值的结果。当没有选择(取消)时,值为null

if (selectedValue != null) { // anything selected? 
    // Check for version ID? 
    if (selectedValue.toString().equals(possibleValues[1])) { 

     JOptionPane.showMessageDialog(null, "version ID: V1"); 
    } else { 
     try { 
      Desktop.getDesktop().browse(new URI("www.google.ca")); 
     } catch (IOException | URISyntaxException e) { 
     } 
    } 
} 

旁白:Java命名惯例表明,方法的名字开始与小写字母checkForUpdates