标签: jformattedtextfield

JTextField中的自定义文本约束

如何向JTextField添加自定义文本约束?

例如,我希望用户以这样的格式提供输入:
12-100
78-023

java swing jtextfield jformattedtextfield

1
推荐指数
1
解决办法
170
查看次数

如何在Swing中定义格式化文本字段,以便在键入时应用格式限制?

我在JFrame上需要这样一个数字文本字段

  1. 限制小数点后两位数的输入
  2. 列出每三位数分隔的数字,即1 234 567,89.
  3. 在打字过程中,数字会以正确的格式显示

我尝试使用JFormattedTextField:

    NumberFormat nf = NumberFormat.getNumberInstance();
    nf.setMaximumFractionDigits(2);
    NumberFormatter numFormater = new NumberFormatter(nf);
    field1 = new javax.swing.JFormattedTextField(numFormater);
Run Code Online (Sandbox Code Playgroud)

但是,格式限制仅在焦点离开组件时适用,这是一个问题.我希望用户能够在字段中仅键入数字和分隔符,并在字段中输入每个3-d数字后立即放置空格分隔符.

我只能通过指定字段的属性在C#中执行此操作.什么是在Swing中做到这一点的干净方法?谢谢.

java swing number-formatting jformattedtextfield

1
推荐指数
1
解决办法
1657
查看次数

初学者......坚持如何在java中使用FormattedFields来插入日期

我知道下面的代码应该格式化,FormattedTextField但它似乎没有对表单做任何事情(如下图所示).当表单加载时我很想要:文本字段看起来像这样

00/00/2014 - 00:00 am

用户能够在哪里

  • 输入符号分隔符周围的类似日期的信息(/或:)

  • 但是用户无法删除这些符号分隔符

码:

package datefield;

import javax.swing.JFormattedTextField;
import javax.swing.text.DateFormatter;


public class NewJFrame extends javax.swing.JFrame {

    public NewJFrame() {
        initComponents();
        JFormattedTextField dateField = new JFormattedTextField(new DateFormatter(/*...*/));
    }
Run Code Online (Sandbox Code Playgroud)

截图:

我无法显示图片,因为我需要10个声望,但链接到图片在http://i.stack.imgur.com/sO3em.png下面

java swing datetime jframe jformattedtextfield

1
推荐指数
1
解决办法
75
查看次数

ActionListeners,多个字段更新以及从文件重新加载用户GUI选择

我有多个地方可以在一个坐标系和另一个坐标系之间进行转换.在每种情况下都有一个余弦/正弦计算,我们称之为x,y和x',y'.这些都是JFormattedTextFields.

如果用户在4中的任何一个中输入值,则调用ActionListener.让我们调用字段fieldx,fieldy,fieldx1和fieldy1.如果用户在fieldx或fieldy中输入任何内容,我将使用fieldx和fieldy中的当前值更新fieldx1和fieldy1的键盘和焦点侦听器(所有四个字段都是相同的).如果对侦听器的调用来自fieldx1或fieldy1,则会计算fieldx和fieldy.

然后我决定在配置文件中保存选择的字段(包括一堆复选框开/关和一些微调器的值)(开发后的新要求).我认为通过设置值和状态一切都会好的但是某些事情没有发生(幕后).我决定这部分是由于各种检查和输入等触发方法没有发生,因为当它们由一段代码设置时,字段没有触发键盘和焦点监听器.

在线阅读之后,我将所有的KeyboardAdapter更改为ActionListener,在我设置了值之后,我在上面提到的字段上调用了postActionEvent(),现在所有的后台内容都发生了(尽管顺序是一个问题,我将保存有关的额外信息)声明要正确更新.我做了这个改变是因为我认为解雇这么多假键盘事件会更加困难吗?

可能有更聪明/聪明的方法来做到这一点,但现在我试图不要触及太多的代码.

  1. 有没有人建议保存面板状态并刷新它(当前对象,面板)?

  2. 如果我继续这样做,有人可以建议一种方法来最小化ActionListener触发的时间吗?它似乎经常发射它是荒谬的!

我应该改变这里建议的事情吗?

您的类应该实现ActionListener还是使用匿名ActionListener类的对象

这似乎涉及更多的编码,但更精确的触发时...

如果这种问题/讨论在这里不合适,请告诉我:).只需输入此页面,我就会想到更多要阅读和尝试的内容.

java swing awt auto-update jformattedtextfield

1
推荐指数
1
解决办法
1209
查看次数

JFormattedTextField接受不带小数的货币格式

如何编码a JFormattedTextField接受没有小数的货币格式?

我到处试图寻找答案.在这里,Oracle,Google和Code Ranch是具体的.

我的问题:如何编码格式化文本字段以接受不带小数的货币格式.文本字段可以接受从$ 5到$ 10,000,000的任何值.我希望它在需要时包含",".此字段不会用于数学表达式,因此无需从字符串转换它.

这是我尝试使用的代码.此格式不允许我在格式化文本字段中输入任何数字.

buildInfo方法

//The buildInfo method will build the info panel
private void buildInfo()
{
    info = new JPanel();
    GridLayout gl = new GridLayout (3,1);
    info.setLayout (gl);

    //Create panel, label, and text area for pledgers name
    p1 = new JPanel();
    p1.setLayout(new FlowLayout(FlowLayout.LEFT));
    label1 = new JLabel ("Pledger's Name:  ");
    p1.add (label1);
    text1 = new JTextField (20);
    p1.add (text1);

    //Create panel, label, and text area for pledge amount
    p2 = new JPanel();
    p2.setLayout(new FlowLayout(FlowLayout.LEFT)); …
Run Code Online (Sandbox Code Playgroud)

java swing jformattedtextfield currency-formatting

0
推荐指数
1
解决办法
6410
查看次数

浮点数的JFormattedTextField

当使用JFormattedTextFieldfor浮动时,我无法看到点后面的部分.例如:如果我填写3.14,格式化的文本字段将其替换为3?

JFormattedTextField aR = new JFormattedTextField(new Float(0.00));

aR.addPropertyChangeListener("value", new PropertyChangeListener() {        
    @Override
    public void propertyChange(PropertyChangeEvent evt) {
        System.out.println(evt.getNewValue());      
    }
}); 
Run Code Online (Sandbox Code Playgroud)

java swing jformattedtextfield

0
推荐指数
1
解决办法
1325
查看次数

如何从 JFormattedTextField 读取 SimpleDateFormat 中的日期?

我有以下代码用于JFormattedTextField接受用户输入的日期。

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
JFormattedTextField DOB = new JFormattedTextField(df);
Run Code Online (Sandbox Code Playgroud)

现在我如何从JFormattedTextField用户提交表单时读取日期?

例如,如果它是JTextField我们使用的fieldname.getText().

java swing date-format jformattedtextfield

-1
推荐指数
1
解决办法
776
查看次数