formtext_formtextnum.html

来自「java类库详细讲解」· HTML 代码 · 共 118 行

HTML
118
字号
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>Creating a Text Field to Display and Edit a Number
(Java Developers Almanac Example)
</TITLE>
<META CONTENT="Patrick Chan" NAME="AUTHOR">
<META CONTENT="Code Examples from The Java Developers Almanac 1.4" NAME="DESCRIPTION">
<META CONTENT="Addison-Wesley/Patrick Chan" NAME="OWNER">
<META CONTENT="3/20/02" NAME="revision">
<STYLE TYPE="text/css">
<!--     CODE {font-family: Courier, Monospace;          font-size: 12pt}    PRE {font-family: Courier, Monospace;         font-size: 11pt}    BODY {font-size: 10pt}    -->
</STYLE>
</HEAD>
<BODY>
<TR>
<TD></TD>
</TR>
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD><A HREF="/?l=ex"><IMG BORDER="0" ALIGN="BOTTOM" HSPACE="10" SRC="../almanac14a.jpg"></A></TD><TD VALIGN="MIDDLE">
<H1>The Java Developers Almanac 1.4</H1>
    Order this book from <a href="/cgi-bin/scripts/redirect.pl?l=ex&url=http://www.amazon.com/exec/obidos/ASIN/0201752808/xeo">Amazon</a>.
    </TD>
</TR>
</TABLE>
<HR>
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD><FONT FACE="Verdana, Arial, Helvetica, sans-serif">
<DIV ALIGN="LEFT">
<FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="3"><A HREF="../../index.html">Home</A>
:
<A HREF="../index.html">List of Packages</A>
:
<B><A HREF="../javax.swing/pkg.html">javax.swing</A></B><font color="#666666" SIZE="-1">
        &nbsp;[ examples]
        </font></FONT>
</DIV>
<P></P>
  
<h3>
    e752.  
    Creating a Text Field to Display and Edit a Number</h3>

This example uses a <code>JFormattedTextField</code> to allow the display and
editing of a number. By default, when the component loses the focus
and the modified value is a valid date, the modified value is
saved. Otherwise, if the modified value is not a valid date, the
modified value is discarded and the old value is displayed.


<pre>
    // Support an integer number; if a decimal point is typed,
    // the decimal point and all following characters are discarded
    JFormattedTextField tft1 = new JFormattedTextField(new Integer(<font color="#0066ff"><i>123</i></font>));
    DefaultFormatter fmt = new NumberFormatter(NumberFormat.getIntegerInstance());
    DefaultFormatterFactory fmtFactory = new DefaultFormatterFactory(fmt, fmt, fmt);
    tft1.setFormatterFactory(fmtFactory);
    
    // Retrieve the value from the text field
    Integer intValue = (Integer)tft1.getValue();
    
    
    // Support a decimal number with one digit following the decimal point;
    // if more digits after the decimal point is typed, the value is rounded to one decimal place
    JFormattedTextField tft2 = new JFormattedTextField(new Float(<font color="#0066ff"><i>123.4F</i></font>));
    fmt = new NumberFormatter(new DecimalFormat("#.0"));
    fmtFactory = new DefaultFormatterFactory(fmt, fmt, fmt);
    tft2.setFormatterFactory(fmtFactory);
    
    // Retrieve the value from the text field
    Float floatValue = (Float)tft2.getValue();
    
    
    // Support a decimal number with arbitrary number of decimal digits.
    // Actually, this isn't technically possible using DecimalFormat;
    // the best that we can do is to specify lots of #'s
    JFormattedTextField tft3 = new JFormattedTextField(new BigDecimal(<font color="#0066ff"><i>"123.4567"</i></font>));
    fmt = new NumberFormatter(new DecimalFormat("#.0###############"));
    fmt.setValueClass(tft3.getValue().getClass());
    fmtFactory = new DefaultFormatterFactory(fmt, fmt, fmt);
    tft3.setFormatterFactory(fmtFactory);
    
    // Retrieve the value from the text field
    BigDecimal bigValue = (BigDecimal)tft3.getValue();
</pre>

<P></P>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="0">
&copy; 2002 Addison-Wesley.
</FONT></FONT></TD>
</TR>
</TABLE>
<br>
<hr>
<FORM method="get" action="/cgi-bin/search/find.pl">
<table width="100%">
<tr>
<b>Search</b>: 
<INPUT size="40" name="words" type="text"><INPUT value="Search" name="submit" type="submit">
</tr>
<tr>
<font size="-1">
&nbsp;&nbsp;&nbsp;&nbsp;(e.g. "cache", "parse xml dom", "java.lang.String", "java.lang.String.substring", "String.substring", "substring")
</font>
</tr>
</table>
</FORM>
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?