如何使用JOptionPane和showMessageDialog显示自动垂直滚动条?

时间:2013-02-27 06:05:58

标签: java swing jscrollpane joptionpane jscrollbar

我有一个QuizApplication,会在用户完成测试后显示结果。 我有以下代码片段,它将测验结果作为字符串返回:

public String getResult() {
 int score = 0;
    String[] choices;
    String scoreB = "";
    for (int i = 0; i < test.length; i++) {
        if (test[i].getCorrect() == test[i].getAns()) {
            score++;
        } else {
          choices = test[i].getChoice();
            scoreB += "Question " + (i + 1) + " : " + test[i].getQn() + "\n<html></br>choices[test[i].getCorrect() - 1] + "\n\n";
        }
    } // end of for loop
      return result;
}

然后我想以MessageDialog的形式显示结果,所以我使用了:

JOptionPane.showMessageDialog(null, newQuiz.getResult()

但是,我想在JOptionPane.showMessageDialog上添加一个垂直滚动条。我该怎么办?

2 个答案:

答案 0 :(得分:3)

showMessageDialog的其中一个参数是Object。如果此ObjectComponent,则会将其添加到对话框的视图中。

我不确定您为什么要将JScrollBar添加到对话框中,但是您需要构建一个包含您要显示的所有元素的Component,并将其传递给对话框消息参数。

查看How to use Dialogs了解详情

答案 1 :(得分:1)

作为@MadProgrammer的suggestion的具体示例,此exampleJTextArea包裹在JScrollPane中并将后者传递给JOptionPane.showMessageDialog()。另请使用HTML / CSS考虑此alternative

image