Java 如何从Abstracttablemodel的列中删除逗号

Java 如何从Abstracttablemodel的列中删除逗号,java,swing,user-interface,abstracttablemodel,Java,Swing,User Interface,Abstracttablemodel,实际上,出现的值不是逗号分隔的,但是渲染有一些问题 我怀疑问题出在渲染上。渲染器不会无缘无故地神奇地显示一个“,” 问题在于您的getColumnNames(…)方法。有两点: 不要在每次调用方法时填充数组中的值。构造类时应加载列名 您的语言.getMessage(…)将是问题所在。该方法返回一个包含列的字符串。因此,在将值添加到数组之前,需要创建用于从字符串中删除“,”的包装器方法 问题在于渲染 在对呈现进行一些代码更改并使java意识到列是字符串而不是int之后,它开始工作了您是指colhe

实际上,出现的值不是逗号分隔的,但是渲染有一些问题

我怀疑问题出在渲染上。渲染器不会无缘无故地神奇地显示一个“,”

问题在于您的
getColumnNames(…)
方法。有两点:

  • 不要在每次调用方法时填充数组中的值。构造类时应加载列名
  • 您的
    语言.getMessage(…)
    将是问题所在。该方法返回一个包含列的字符串。因此,在将值添加到数组之前,需要创建用于从字符串中删除“,”的包装器方法

  • 问题在于渲染
    在对呈现进行一些代码更改并使java意识到列是字符串而不是int之后,它开始工作了

    您是指
    colheads=new string[]
    中的逗号?您好,实际上显示的值在columnscan中带有逗号您发布了一个屏幕截图吗?然后,也许可以看看
    语言
    类,以及它在
    getMessage
    语言中返回的确切内容。getMessage只返回列标题实际上,这里的行中的值带有逗号,不允许发布图像,因为我对该站点不太熟悉,所以你应该看看为什么会这样返回带逗号的值。这与您发布的代码无关
    public class WebCrmSearchOutputTableModel extends AbstractTableModel 
    {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        private Vector iTotalRows = null;
    
        public WebCrmSearchOutputTableModel() {
            super();
        }
    
        public String getColumnName(int pColumn)
        {
            String[] colheads;
            colheads = new String[]
                 {
                    Language.getMessage("TIT0007"), //Channel       
                    Language.getMessage("TIT00038"), //Old Loyalty No
                    Language.getMessage("TIT00039"),// ULP No
                    Language.getMessage("TIT00040"), // First Name  
                    Language.getMessage("TIT00041"), // Last Name
                    Language.getMessage("TNR036"),//Town/City   
                    Language.getMessage("TIT00042"),//DOB
                    Language.getMessage("COR0756"),//Mob no     
                    Language.getMessage("TIT00043"),// LandLine
                    Language.getMessage("COR0747"),//Email      
                    Language.getMessage("TS00034"),//Loyalty Points
                    Language.getMessage("XE99936"),// Home Store
                    Language.getMessage("TNR037"),//Address1    
                    Language.getMessage("TNR038"),//Address2    
                    Language.getMessage("TIT00045"),//Current Tier
                    Language.getMessage("TIT00046"),//Enrollment Date
                    Language.getMessage("XE99038"),//Customer Number
    
                    //Start-BNIKA01 for CR in ULP for Mapping State parameter on 12-10-2012
                    ""//State
                    //End-BNIKA01 for CR in ULP for Mapping State parameter on 12-10-2012
    
    
                    //START BSASH05- TNS0115 - Redemption of Mobile - GV
                    ,""//Blocked
                    ,""//Birthday Disc
                    ,""//Anniversary Disc
                    //END BSASH05- TNS0115 - Redemption of Mobile - GV
                }; 
            return colheads[pColumn];
        }
    
        public int getColumnCount() 
        {
            //Start-BNIKA01 for CR in ULP for Mapping State parameter on 12-10-2012
            //return 17;
    //      return 18;
            //End-BNIKA01 for CR in ULP for Mapping State parameter on 12-10-2012
    
            //START BSASH05- TNS0115 - Redemption of Mobile - GV
            return 21;
            //END BSASH05- TNS0115 - Redemption of Mobile - GV
        }
        public int getRowCount() 
        {
            return getTotalRows().size();
        }
        public Vector getTotalRows() 
        {
            return iTotalRows;
        }
        public Object getValueAt(int pRow, int pCol) 
        {
            return ((Object[]) getTotalRows().elementAt(pRow))[pCol];
        }
        public void setTotalRows(Vector pTotalRows) 
        {
            iTotalRows = pTotalRows;
        }
    }