如何使用%符号格式化JTable单元格?

时间:2015-07-17 05:41:59

标签: java swing jtable

我想在JTable的特定行中的特定列中设置百分比符号(注意:不是所有列,只是特定列)。

我试过了,但是当我输入10时,它显示了1,000%。任何人都可以给我建议实现同样的目标吗?

public class Renderer extends DefaultTableCellRenderer {

 private final NumberFormat f = NumberFormat.getPercentInstance();

 @Override
 public final Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
 final Component result = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
 System.out.println("Value = " + value);

 if (value != null) {
     int temp = Integer.parseInt((String) value);
 setText(f.format(temp));
 }
 return result;
 }
 }

2 个答案:

答案 0 :(得分:1)

来自NumberFormat的java文档:

  

使用getPercentInstance获取显示百分比的格式。   使用此格式,像0.53这样的分数显示为53%

答案 1 :(得分:0)

要在字符串中正确显示%符号,您需要使用%%来转义它。

https://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.0.0/com.ibm.worklight.installconfig.doc/install_config/c_handling_stale_mysql_connections.html?lang=en是关于逃避意味着什么的简短教程。