我是Java新手,我尝试编写一个简单的GUI应用程序,该应用程序应该将jList
的选定值返回到textfield
。
但它不是选定的文本,而是将[Ljava.lang.Object;@675b9599
的内存地址返回给textField
。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField1.setText(Arsenal.getSelectedValues().toString());
}
答案 0 :(得分:1)
Arsenal.getSelectedValues()//Returns Array of Object and Deprecated as well
-------
而是使用jList.getSelectedValue()
值不值返回所选元素。所以它应该是
jTextField1.setText((String)Arsenal.getSelectedValue());
如果您已将String
添加到JList
,则您甚至不需要将其转换为String
,因为它会根据{{1}的类型返回值元素。
如果您想要获取所有选定的值,请使用JList
而不是getSelectedValuesList()
,因为它已被弃用。
答案 1 :(得分:0)
您可能正在JList
错误中检索所选元素的文本。
您必须使用getSelectedValue()
来检索它。
String text = (String) myList.getSelectedValue();
无需像toString()
中那样调用myList.getSelectedValue().toString()
方法,因为如果没有选定值,NullPointerException
可能会导致JList instead returns a
{{1}}值。
Java文档说:
返回最小的选定单元格索引的值;选中的 在列表中仅选择单个项目时的值。当多个 选择项目,它只是所选最小的值 指数。如果没有选择,则返回null。
答案 2 :(得分:0)
JList
仅返回Object
。因此请将其转换为String
。
jList.getSelectedValue().toString();
它应该有用。