jList不返回所需的字符串值

时间:2014-08-04 12:24:22

标签: java swing user-interface textfield jlist

我是Java新手,我尝试编写一个简单的GUI应用程序,该应用程序应该将jList的选定值返回到textfield

但它不是选定的文本,而是将[Ljava.lang.Object;@675b9599的内存地址返回给textField

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    jTextField1.setText(Arsenal.getSelectedValues().toString()); 
} 

3 个答案:

答案 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();

它应该有用。