问题标签 [jformattedtextfield]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3841 浏览

java - JFormattedTextField 格式化百分比数字?

我想使用 JFormattedTextField 将浮点数格式化为百分比值,允许输入从 0% 到 100%(转换为 0.0f-1.0f),始终显示百分号并禁止任何无效字符。

现在我对 NumberFormat.getPercentInstance() 和 NumberFormatter 属性进行了一些试验,但没有成功。

有没有办法使用标准类创建一个遵守这些规则的 JFormattedTextField?还是我必须实现自己的 NumberFormatter?

这就是我到目前为止所拥有的(无法输入 100%,输入 0 会完全破坏它):

0 投票
1 回答
289 浏览

java - 将 DateFormatter 与 JFormattedTextField 一起使用

我将 aJFormattedTextField与 a 结合使用DateFormatter。我已经看到使用这种文本字段的示例,MaskFormatter用户可以在其中输入值并覆盖现有值(例如占位符字符),而无需手动删除它们。可以用 a 做同样的事情DateFormatter吗?例如,我想00:00:00用作占位符字符串,时间应该是格式HH:mm:ss

0 投票
2 回答
883 浏览

java - 如何让 JFormattedTextField 使用 1.55 美元,但将值存储为整数 155?

我读过的关于 Java 的几乎所有内容都说不要使用浮点数或双精度数作为货币,但如果你想输入/显示具有小数位的货币值(又名正是大多数人想要做的)。

我可以使用NumberFormat.getCurrencyInstance()and NumberFormatter,但我不知道如何在不使用or的JFormattedTextField情况下让它显示小数位。我必须忽略一些简单的事情。FloatDouble

如何使我的货币字段显示$1.55,接受输入1.55并将输入存储为值为155(美分)的整数?

0 投票
3 回答
6709 浏览

java - 如何使用仅允许字母和数字的 JFormattedTextField

我有这段代码,但无法获得MaskFormatter正确的
maskformatter

我需要任何十六进制字符(0-9、az 或 AZ),而“H”应该
只给我(0-9、az 或 AZ),但我弄错了。

当我输入文本时,只输入大写字母,而且速度很慢
,当我点击远离txtTroll所有字母时,所有字母都消失了

0 投票
1 回答
2565 浏览

java - JFormattedTextField 和 NumberFormat 与 Float 一起使用

我用 JFormattedTextField 做了一个小对话框,输入一个介于 0 和 10 之间的浮点数,最多 3 个十进制数。为此,我使用 NumberFormat 和 PropertyChangeListener 来验证值或返回旧值。但它不起作用:

}

INode 是我创建的一个类,它存储我使用 getIR() 方法获得的int值并使用 setIR(int) 方法更新它。

我收到 java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Float in the lineFloat newValue = (Float)resistorValue.getValue()*1000;和 at lineFloat newValue = (Float)evt.getNewValue();

0 投票
1 回答
1138 浏览

java - 如何禁止 JFormattedTextField 中的字符?

在 NetBeans 中,如何设置无效字符以JFormattedTextField使其不允许:|、、[]

没关系,我想出了解决方案:

然后,在 GUI 上右键单击 JFormattedTextField,单击自定义代码,myFormattedTextField = new javax.swing.JFormattedTextField();选择自定义创建旁边的下拉框并将格式化程序添加到 JFormattedTextField,如下所示:myFormattedTextField = new javax.swing.JFormattedTextField(formatter);

希望有一天这会对其他人有所帮助。

0 投票
3 回答
1744 浏览

java - 试图让 JFormattedtextfield 改变......不工作

我正在尝试通过字符串变量标题将输入到“titleField”中的任何内容设置为出现在“artistField”中

我在titleField中输入文本,按回车,在artistField中什么也没有出现

有人可以告诉我我做错了什么吗?

0 投票
2 回答
6696 浏览

java - Java : JFormattedTextField 保存数字

在我的应用程序中,我想将数字(数量)输入到特定限制,因此使用了 JFormattedTextField。限制如“12345678.99”,即“.”之前的 8 位数字。和 2 在“。”之后 等等。这是我的实现代码,但结果不如预期。


我哪里错了?以及如何使它按我的预期工作。

根据 StanislavL 的建议进行更新:

它确实遵守了限制,但它消除了以前的数字而不是以后的数字。我的意思是不应该消除 4562147896.45 而不是“45”“96”。

0 投票
1 回答
568 浏览

java - Java:JFormattedTextField 在 focusLost 和 focusGained 上更改 setGroupingUsed()

我有许多带有数字数据的 JFormattedTextdields。我使用过 DecimalFormat、InternationalFormatter、DocumentListener,还尝试过使用 CaretPositionListener。

我面临的唯一问题是当数字输入增长并且分组字符介于两者之间时插入符号的位置。

如何在 focusGained 和 onFocusLost 上动态设置相应 jformattedtextfields 的 DecimalFormat 的 setGroupingUsed()。

任何想法或建议......

更新代码和问题: 当我尝试输入“12345”时,添加“1234”时会出现逗号“1,234”。这会在 3 和 4 之间而不是在 4 之后出现插入符号。我使用的格式化代码:

这就是我在自定义 JFormattedTextField 上实现的解决方案。在输入值时您有没有更好的方法来处理分组字符,所以插入符号位置保持正确:

0 投票
3 回答
1561 浏览

java - Java:语言环境是否会影响 JFormattedTextField 的格式化程序

我创建了 JFormattedTextField 的自定义组件 (NumberFormattedTextField)。这是我使用的格式化程序:

当我创建 NumberFormattedTextField 的实例时:

NumberFormattedTextField 类代码:

我的 PC 上的上述代码运行良好。但是在客户端的 PC 上它给出了错误:初始化失败:对于输入字符串:“99999999,99”错误/我得到的日志:

我们俩的地区不一样。

这个错误的原因是什么?我在 NumberFormattedTextField 类中需要注意的不同区域设置或其他内容。我希望应用程序调整系统设置并相应地显示。

怎么解决问题??