繁体   English   中英

jList不返回所需的字符串值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM