class CustomDateCellRenderer extends DefaultTableCellRenderer{
@Override
public Component getTableCellRendererComponent(JTable tab, Object value, boolean isSelected,
boolean hasFocus, int r, int c){
if(value instanceof LocalDate){
System.out.println("Local Date");
// this is where I display the age from the value variable
}
return super.getTableCellRendererComponent(tab,value,isSelected,hasFocus,r,c);
}
}
table.getColumnModel().getColumn(2).SetCellRenderer(new CustomDateCellRenderer());
但如果我用:
table.setDefaUltrenderer(localdate.class,new CustomDateCellRenderer());
如果需要,我很乐意提供整个SSCE,但目前,为了让事情更简短,下面是TableModel的getValueAt()和setValueAt()方法:
@Override
public void setValueAt(Object value, int r, int c){
Person p = data.get(r);
switch(c){
case 0 : p.setFName((String)value); break;
case 1 : p.setSName((String)value); break;
case 2 : DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
p.setDOB(LocalDate.parse((String)value, formatter)); break;
}
}
@Override
public Object getValueAt(int r, int c){
Person p = data.get(r);
switch(c){
case 0 : return p.getFName();
case 1 : return p.getSName();
case 2 : return p.getDOB();
}
return null;
}
数据只是Person类型的arraylist(一个具有明显变量(String)fName、(String)sName和(LocalDate)DOB的类)
任何帮助都将不胜感激!
我发现我没有重写TableModel中的getColumnClass()方法。业余犯的错误!
这意味着table.setDefaUltrenderer(localdate.class,new CustomDateCellRenderer());
不能工作,但是获取列并设置呈现器可以。
我不确定是否是最好的方法,但这就是我现在使用的getColumnClass方法:
@Override
public Class getColumnClass(int c){
switch(c){
case 0 : return String.class;
case 1 : return String.class;
case 2 : return LocalDate.class;
}
return null;
}
问题内容: 我可以通过设置为来解决此问题,但是对此我有一些疑问 当我将fetchSize设置为10或其他正整数时,它不起作用,将其设置为有效后,为什么呢? 如果我们设置负值,则它给非法值错误,但就是那么,为什么不给错误? 该表包含600万条记录,在获取100或200条记录后我关闭了该表,这需要30-35秒的时间。 减少关闭时间的解决方案。 我想在此处添加更多内容,并已使用MySQL驱动程序对其进行
而RNDecryptor的addData方法如下: 我不明白这一行实际上是要做什么,它对加密流的每一个块都调用: 假设我有一个1000字节的块,而HMACLength是32。 提前道谢。
我已经通过字符串的拆分方法留档,但结果并不像预期的那样。当我们将限制参数设置为负值的字符串拆分时,它总是附加一个空值。为何要这样做呢?考虑一些案例 我希望这两张照片都是3。 现在,由于没有找到匹配项,通常的split with limit方法应该打印0,但它创建了一个带有空字符串的数组。 现在我有了一个匹配项,无限制参数的split方法可以很好地工作。它是我预期的输出,但为什么它不在本例中创建一个
我正在努力区分let, letrec, let*...因为方案不是我的主要编程语言,我的内存不存在很长时间...我有这个功能...现在我很困惑这里的letrec...这又是recursion.that我能理解...但是不能在这段代码中建立足够的连接...(也许仍然对递归感到困惑)有人能解释为什么这里需要letrec吗 (编辑)我所理解的是它的尾部递归 - - 此函数返回x,y的列表,其边界为sta
我尝试在android studio中使用Proguard,但Proguard似乎没有混淆类名,例如,我的应用程序结构和配置: 和配置 但当我尝试在应用程序中触发异常时: ADB控制台中列出了异常: 只有方法被混淆了,MainActivity.class没有
本文向大家介绍Spring Boot使用Allatori代码混淆的方法,包括了Spring Boot使用Allatori代码混淆的方法的使用技巧和注意事项,需要的朋友参考一下 Allatori混淆技术介绍 Allatori是一个Java 混淆器,它属于第二代混淆器,因此它能够全方位地保护你的知识产权。 Allatori具有以下几种保护方式:命名混淆,流混淆,调试信息混淆,字符串混淆,以及水印技术。