java - 从 JOptionPane 下拉列表框中选择后无法刷新 jtextarea

标签 java swing jtextarea joptionpane jcheckbox

第一次从列表中选择一个选项时,该值显示在 jtextarea 上 第二次选择某个选项时,该值不会改变。 有刷新选项吗?或者解决这个问题的更好方法?谢谢!

这是代码片段:

String[] choices = {"Apple","Orange", "Pear"}; 

String fruit= (String) JOptionPane.showInputDialog(null, "Select Fruit:","Select Fruit", JOptionPane.QUESTION_MESSAGE, null, choices, choices[0]);  

if (fruit!= null){

jtextarea.append("Name\t:  " + fruit.getName() + "\n"); 
jtextarea.append("Color\t:  " + fruit.getColor() + "\n");

}

最佳答案

fruit.getName()
fruit.getColor()

这两个是错误的,因为它是对 JOptionPane 返回的内容的引用,而不是带有 getter 的对象。因为它不是您的数组 choices 包含字符串。只需附加您的 joptionpane 返回的内容,即 fruit(可以是 Apple、Orange 或 Pear):

jtextarea.append("Name\t:  " + fruit + "\n"); 

关于java - 从 JOptionPane 下拉列表框中选择后无法刷新 jtextarea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233529/

相关文章:

Java 应用程序读取 UTF-8 编码的文本文件,但在 ant build 之后字符不符合预期

java - 创建x个线程,然后等待完成

java - 是否可以在 MigLayout 中指定深度?

java - 如何限制 JSpinner

java - 使用 NetBeans 设置图像库

java - Eclipse合并两个java项目

java - (Java) JTable 行的用户选择

java - 设置 JTextArea 中文本颜色的格式

java - 与 JTextArea 的追加方法作斗争

java - 更改文本区域的文本