首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将选定的jList值拆分并移动到jTable行(SWING)

问将选定的jList值拆分并移动到jTable行(SWING)
EN

Stack Overflow用户
提问于 2016-10-10 20:12:53
回答 1查看 586关注 0票数 1

嗨,我正在尝试做一个程序,将一个选择的值从一个列表移动到一个表中。我可以将整个列表值添加到一行,但我要做的是将列表值拆分为一组字符串,并将它们设置为表中的不同行。

列表值将如下所示:

代码语言:javascript
复制
123 Test St LA 1823 Yes
456 Test Dr NY 12345 No

该列表从文本字段(Address、State、Zip,For Sale)中获取值,并将其设置为一行由空格分隔的字符串。

表中有4行:

代码语言:javascript
复制
|Address|State|Zip| For Sale|
|------ +-----+---+---------|
|       |     |   |         |  

因此,为了做到这一点,我必须按空格从列表中拆分字符串值,但是由于Address文本字段包含空格(即123 Test St),与其他文本字段不同,我必须想出从列表中拆分字符串的方法,以便设置address、State、Zip和For Sale值。

下面是我的代码片段:

代码语言:javascript
复制
 private void addListActionPerformed(java.awt.event.ActionEvent evt) {                                          

    home.setAddress(address.getText());
    home.setState(state.getText());
    home.setZip(zip.getText()); 
    home.setSale(forSale.getText());

    String concat = home.getAddress() + " " +
                    home.getState() + " " +
                    home.getZip() + " " +
                    home.getSale();


    addVal(concat);

        address.setText("");    
        state.setText("");
        zip.setText("");
        forSale.setText("");

}    

private void addVal(String str) {
    jList1.setModel(dm);
    dm.addElement(str);
}

    private void addToTableActionPerformed(java.awt.event.ActionEvent evt) {                                            
    String s = jList1.getSelectedValue();
    //Split and set values and add to table
}  

我可以使用:String[] spaces = s.split(" "),但是我需要处理地址值,因为它还包括多个空格,有更简单的方法吗?如有任何建议,将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-10 20:16:35

  • 用Home对象填充JList,而不是连接字符串
  • 使用自定义列表单元格呈现程序显示从列表中的Home对象派生的级联字符串。
  • 然后,当选择JList中的一个项时,您将得到一个完整的Home对象,而不是一个字符串,创建JTable行应该非常简单。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39966039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档