我有一个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
上添加一个垂直滚动条。我该怎么办?
答案 0 :(得分:3)
showMessageDialog
的其中一个参数是Object
。如果此Object
为Component
,则会将其添加到对话框的视图中。
我不确定您为什么要将JScrollBar
添加到对话框中,但是您需要构建一个包含您要显示的所有元素的Component
,并将其传递给对话框消息参数。
查看How to use Dialogs了解详情
答案 1 :(得分:1)
作为@MadProgrammer的suggestion的具体示例,此example将JTextArea
包裹在JScrollPane
中并将后者传递给JOptionPane.showMessageDialog()
。另请使用HTML / CSS考虑此alternative。