gpt4 book ai didi

java - 格式化一个Jtable Cell,如果格式化不合法,则什么都不做

转载 作者:行者123 更新时间:2023-11-29 08:16:00 25 4
gpt4 key购买 nike

假设我的 Jtable 中有以下列:

{"Item", "Price"}

我想将价格列的格式设置为“0.00”格式。但如果用户输入非法字符串,则保留单元格的原始值。例如,当价格为“1.23”,但当用户想输入“abc”时,单元格仍应为“1.23”

我该怎么做?

谢谢

最佳答案

让我们把你的大问题分成小问题。

首先,您想要拥有您的 Price 的项目要根据指定格式显示的列,您可以使用 TableCellRenderer 来实现(在呈现数字时,将使用 NumberFormat 来显示正确的小数位数)。由于您的表只有两列不同类型,最简单的解决方案是使用 JTable#setDefaultRenderer(Class<?> columnClass, TableCellRenderer renderer) .这样,您的号码将始终使用正确的小数位数显示。

其次,对于您的版本问题,同样的解决方案可能相当优雅:调用 JTable#setDefaultEditor(java.lang.Class, javax.swing.table.TableCellEditor) 并将一个组件设置为编辑器,在对您的表模型进行更改之前,确保新值是一个有效数字(当然根据您的规则有效)。

关于java - 格式化一个Jtable Cell,如果格式化不合法,则什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4829848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com