使用方法参数在JOptionPane中选择图标类型

时间:2015-04-03 14:06:03

标签: java swing methods arguments joptionpane

我试图不尽可能地重复代码,而且我目前仍然坚持(我认为是)非常简单的问题,但我无法弄明白。我已经看过了,但我找不到类似的问题所以我在这里。

public void displayPrompt(String promptMessage, ?????) { 

    JOptionPane.showInputDialog(this, promptMessage, JOptionPane.QUESTION_MESSAGE);

}

这是我目前试图找出的方法。我必须用?????代替JOptionPane.QUESTION_MESSAGE更改WARNING_MESSAGE,让我们说QUESTION_MESSAGE

public void displayPrompt(String promptMessage, int i) { JOptionPane.showInputDialog(this, promptMessage, JOptionPane.i); } 的描述告诉我它是一个整数:

  

int javax.swing.JOptionPane.QUESTION_MESSAGE = 3 [0x3]

     

QUESTION_MESSAGE

     

public static final int QUESTION_MESSAGE

这是否意味着我实际上可以传递一个整数来操纵它?

示例:

{{1}}

这将是最合乎逻辑的解释,但问题是日食并没有让我这样做。

2 个答案:

答案 0 :(得分:3)

将您的方法修改为:

public void displayPrompt(String promptMessage, int i) { 

JOptionPane.showInputDialog(this, promptMessage, i);

}

然后像这样调用它:

displayPrompt("Text message for dialog", JOptionPane.QUESTION_MESSAGE);

经测试可行。希望这能回答你的问题。

答案 1 :(得分:2)

您可以将JOptionPane的一个静态字段作为参数传递给您的方法,并在调用showInputDialog时使用该值。

JOptionPane.showInputDialog(this, promptMessage, i);

当你调用方法时,你会做这样的事情:

displayPrompt("prompt", JOptionPane.QUESTION_MESSAGE);
// or
displayPrompt("prompt", JOptionPane.WARNING_MESSAGE);