[英]jList doesn't return desired string value
我是Java的新手,我试图编写一个简单的GUI应用程序,该应用程序应该将jList
的选定值返回到textfield
。
但是,它代替选定的文本,向textField
返回一个类似于[Ljava.lang.Object;@675b9599
的内存地址。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField1.setText(Arsenal.getSelectedValues().toString());
}
Arsenal.getSelectedValues()//Returns Array of Object and Deprecated as well
-------
而是使用jList.getSelectedValue()
Value Not Values返回选择的元素。
jTextField1.setText((String)Arsenal.getSelectedValue());
如果已将String
添加到JList
,则甚至无需将其转换为String
因为它将根据JList
元素的类型返回值。
如果要获取所有选定的值,请使用getSelectedValuesList()
而不是getSelectedValues()
因为它已被弃用。
您可能错误地检索了JList
所选元素的文本。 您必须使用getSelectedValue()
来检索它。
String text = (String) myList.getSelectedValue();
无需像myList.getSelectedValue().toString()
一样调用toString()
方法,因为如果没有选定值,这可能会导致NullPointerException
,而JList instead returns a
null值。
Java文档说:
返回最小的选定单元格索引的值; 在列表中仅选择一个项目时的选定值。 选择多个项目时,它只是所选索引最小的值。 如果没有选择,则返回null。
JList
仅返回Object
。因此将其转换为String
。
jList.getSelectedValue().toString();
它应该工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.