gpt4 book ai didi

java - 如何使用 Java Swing 仅验证 JFormattedText 中的 float ?

转载 作者:行者123 更新时间:2023-12-01 11:30:50 24 4
gpt4 key购买 nike

使用 JFormattedText 或 JTextField 元素验证 float 的最佳方法是什么?

我不想通过按键或按键等事件进行验证,有一些 JFormattedText 方法吗?

最佳答案

JFormattedTextField 的语义有点奇怪,但它们可能对您有用。技巧是将格式化文本字段的值设置为可用作格式化程序的对象。 float 效果很好。

JFormattedTextField jff = new JFormattedTextField( 0.0f );

JFormattedTextFields 不会阻止用户输入错误的输入。如果用户输入错误的数据,它们只会恢复到旧的(正确的)值。如果您想要不同的行为,您可能必须执行按键操作,有时这是唯一的方法。

public class Validation
{

public static void main( String[] args )
{
SwingUtilities.invokeLater( new Runnable()
{
public void run()
{
JFrame frame = new JFrame();

Box vbox = Box.createVerticalBox();

JFormattedTextField jff = new JFormattedTextField( 0.0f );
vbox.add(jff);
JTextField jt = new JTextField( 20 );
vbox.add( jt );
JLabel value = new JLabel( jff.getValue().toString() );
vbox.add( value );
frame.add( vbox );
JButton b = new JButton( "Get Value" );
b.addActionListener( new ActionListener()
{

@Override
public void actionPerformed( ActionEvent e )
{
value.setText( jff.getValue().toString() );
}
} );
JPanel p = new JPanel();
p.add( b );
frame.add( p, BorderLayout.SOUTH );

frame.pack();
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setLocationRelativeTo( null );
frame.setVisible( true );
}
} );
}
}

关于java - 如何使用 Java Swing 仅验证 JFormattedText 中的 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30406442/

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