我正在构建一个 Java swing 应用程序。 我编写了一个自定义的 defaultTableModel 类,这是代码:
public class MyTableModelScontriniArticoli extends defaultTableModel {
private static final String[] columnNames = {"Cod.Prod.", "Descrizione", "Qta","Prezzo cad.","Sconto $$","Prezzo Tot"};
public HashMap<String, ArticoliScontrini> mappaArticoli = new HashMap<String, ArticoliScontrini>();
public Boolean gestisciTagliaColore;
private Boolean consentiModificaDescrizione;
private String tipologiaSconto;
//public MyTableModelScontriniArticoli() {}
public MyTableModelScontriniArticoli(boolean gestisciTagliaColore, boolean consentiModificaDescrizione,
String tipologiaSconto) {
super(columnNames, 1); // 10 righe iniziali (vuote)
mappaArticoli = new HashMap<String, ArticoliScontrini>();
}
public MyTableModelScontriniArticoli(String[] columnnames2, int i) {
super(columnnames2, 1); // 10 righe iniziali (vuote)
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
// return columnIndex == 1; // Solo la prima colonna � editabile
if(this.getConsentiModificaDescrizione()!=null &&
this.getConsentiModificaDescrizione())
return (columnIndex > 0 && columnIndex <= 4);
else
return (columnIndex > 1 && columnIndex <= 4);
}
}
现在我需要用“tipologiaSconto”中的字符串重新插入“columnNames”数组中的“$$”字符。
我该怎么做?
您可以使用
replace
方法。但请注意,Java 中的字符串是不可变的,这将创建一个新的字符串实例,因此请确保您没有保留对旧字符串的任何引用。
columnNames[4] = columnNames[4].replace("\$\$", tipologiaSconto);