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">
[ 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">
© 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">
(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 + -
显示快捷键?