【发布时间】:2011-01-31 11:04:45
【问题描述】:
最近I asked 是绑定到 BigDecimal 变量(具有一些特定编辑属性)的最佳 Swing 组件。事实证明,没有一个标准的 Swing 组件完全适合我,我在那里找到的第三方 Swing 组件库也不适合我。所以我决定创建自己的 Swing 组件。
组件说明:
我想扩展JTextField 或JFormattedTextField,这样我的新组件就可以轻松绑定到BigDecimal 变量。
组件将具有可自定义的 scale 和 length 属性。
行为:
绘制组件时,它仅显示小数点和右侧scale位的空格。
当组件获得焦点时,插入符号应位于小数点左侧。当用户键入数字时(忽略任何其他字符),它们出现在插入符号的左侧,仅接受 length - scale 数字,输入的任何其他数字都将被忽略为整数部分已满。每当用户键入小数点时,插入符号就会移动到小数点的右侧。以下输入的数字显示在小数部分,只有 scale 数字被认为是任何其他输入的数字都将被忽略,因为小数部分已满。此外,当用户键入小数点后的数字时,应显示千位分隔符。
我还希望能够在JTable 中将组件用作Cell Editor(无需编码两次)。
在组件上调用 getValue() 方法应该会产生表示刚刚输入的数字的 BigDecimal。
我从未创建过自己的 Swing 组件;我几乎没用过标准的。因此,我将不胜感激有关创建所描述组件的任何好的教程/信息/提示。 This 是我目前唯一得到的。
提前致谢。
【问题讨论】:
标签: java swing bigdecimal