??xml version="1.0" encoding="utf-8" standalone="yes"?>
format(Locale l, String format, Object... args) 使用指定的语a环境、格式字W串和参数返回一个格式化字符丌Ӏ?br />
format(String format, Object... args) 使用指定的格式字W串和参数返回一个格式化字符丌Ӏ?/span>
丑և个这个方法实用的例子(注释是输出结?Q?
CODE:
long now = System.currentTimeMillis();
String s = String.format("%tR", now); // "15:12"
CODE:
// Current month/day/year
Date d = new Date(now);
s = String.format("%tD", d); // "07/13/04"
CODE:
s = String.format("%,d", Integer.MAX_VALUE); // "2,147,483,647"
CODE:
s = String.format("%05d", 123); // "00123"
是不是很方便Q让人动心啊Q哈哈,q有更多的效?
其实format函数有些cMc语言中printf函数Q一些格式字W串?C cMQ但已进行了某些定制Q以适应 Java 语言Qƈ且利用了其中一些特性。此Ҏ提供了对布局寚w和排列的支持Q以及对数倹{字W串和日?旉数据的常规格式和特定于语a环境的输出的支持。支持诸?byte、BigDecimal ?Calendar {常?Java cd?br />
产生格式化输出的每个Ҏ都需要格式字W串 和参数列表。格式字W串是一?StringQ它可以包含固定文本以及一个或多个嵌入的格式说明符。请考虑以下CZQ?br />
Calendar c = ...;
String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);
格式字符串是 format Ҏ的第一个参数。它包含三个格式说明W?"%1$tm"?%1$te" ?"%1$tY"Q它们指出应该如何处理参C及在文本的什么地Ҏ入它们。格式字W串的其余部分是包括 "Dukes Birthday: " 和其他Q何空格或标点W号的固定文本?参数列表׃递给位于格式字符串之后的Ҏ的所有参数组成。在上述CZ中,参数列表的大ؓ 1Q由新对?Calendar l成?br />
1.常规cd、字W类型和数值类型的格式说明W的语法如下Q?/strong>%[argument_index$][flags][width][.precision]conversion
可选的 argument_index 是一个十q制整数Q用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用Q第二个参数?"2$" 引用Q依此类推?br />
可选的 flags 是修改输出格式的字符集。有效标志的集合取决于{换类型?br />
可?width 是一个非负十q制整数Q表明要向输Z写入的最字W数?br />
可?precision 是一个非负十q制整数Q通常用来限制字符数。特定行为取决于转换cd?br />
所需?conversion 是一个表明应该如何格式化参数的字W。给定参数的有效转换集合取决于参数的数据cd?br />
2.用来表示日期和时间类型的格式说明W的语法如下:
%[argument_index$][flags][width]conversion
可选的 argument_index?em>flags ?width 的定义同上?br />
所需?conversion 是一个由两字W组成的序列。第一个字W是 't' ?'T'。第二个字符表明所使用的格式。这些字W类g但不完全{同于那些由 GNU date ?POSIX strftime(3c) 定义的字W?
3.与参C对应的格式说明符的语法如下:
%[flags][width]conversion
可?flags ?width 的定义同上?br />
所需?conversion 是一个表明要在输Z所插内容的字符?
转换
转换可分Z下几c:
1. 常规 - 可应用于M参数cd
2. 字符 - 可应用于表示 Unicode 字符的基本类型:char、Character、byte、Byte、short ?Short。当 Character.isValidCodePoint(int) q回 true Ӟ可将此{换应用于 int ?Integer cd
3. 数?br />
1. 整数 - 可应用于 Java 的整数类型:byte、Byte、short、Short、int、Integer、long、Long ?BigInteger
2. 点 - 可用?Java 的Q点类型:float、Float、double、Double ?BigDecimal
4. 日期/旉 - 可应用于 Java 的、能够对日期或时间进行编码的cdQlong、Long、Calendar ?Date?br />
5. 癑ֈ?- 产生字面?'%' ('\u0025')
6. 行分隔符 - 产生特定于^台的行分隔符
下表ȝ了受支持的{换。由大写字符Q如 'B'?H'?S'?C'?X'?E'?G'?A' ?'T'Q表C的转换与由相应的小写字W的转换{同Q根据流行的 Locale 规则结果{换ؓ大写形式除外。后者等同于 String.toUpperCase() 的以下调?
转换 | 参数cd | 说明 |
'b', 'B' | 常规 | 如果参数 arg ?nullQ则l果?"false"。如?arg 是一?boolean 值或 BooleanQ则l果?String.valueOf() q回的字W串。否则结果ؓ "true"?/td> |
'h', 'H' | 常规 | 如果参数 arg ?nullQ则l果?"null"。否则,l果?Integer.toHexString(arg.hashCode()) 得到的结果?/td> |
's', 'S' | 常规 | 如果参数 arg ?nullQ则l果?"null"。如?arg 实现 FormattableQ则调用 arg.formatTo。否则,l果?arg.toString() 得到的结果?/td> |
'c', 'C' | 字符 | l果是一?Unicode 字符 |
'd' | 整数 | l果被格式化为十q制整数 |
'o' | 整数 | l果被格式化为八q制整数 |
'x', 'X' | 整数 | l果被格式化为十六进制整?/td> |
'e', 'E' | 点 | l果被格式化为用计算机科学记数法表示的十q制?/td> |
'f' | 点 | l果被格式化为十q制?/td> |
'g', 'G' | 点 | Ҏ_ֺ和舍入运后的|使用计算机科学记数Ş式或十进制格式对l果q行格式化?/td> |
'a', 'A' | 点 | l果被格式化为带有效位数和指数的十六q制点?/td> |
't', 'T' | 日期/旉 | 日期和时间{换字W的前缀。请参阅日期/旉转换?/td> |
'%' | 癑ֈ? | l果为字面?'%' ('\u0025') |
'n' | 行分隔符 | l果为特定于q_的行分隔W?/td> |
'H' | 24 时制的时Q被格式化ؓ必要时带前导零的两位敎ͼ?00 - 23?/td> |
'I' | 12 时制的时Q被格式化ؓ必要时带前导零的两位敎ͼ?01 - 12?/td> |
'k' | 24 时制的时Q即 0 - 23?/td> |
'l' | 12 时制的时Q即 1 - 12?/td> |
'M' | 时中的分钟Q被格式化ؓ必要时带前导零的两位敎ͼ?00 - 59?/td> |
'S' | 分钟中的U,被格式化为必要时带前导零的两位数Q即 00 - 60 Q?60" 是支持闰U所需的一个特D|?/td> |
'L' | U中的毫U,被格式化为必要时带前导零的三位数Q即 000 - 999?/td> |
'N' | U中的毫微秒Q被格式化ؓ必要时带前导零的九位敎ͼ?000000000 - 999999999?/td> |
'p' | 特定于语a环境?上午或下?/a> 标记以小写Ş式表C,例如 "am" ?"pm"。用{换前~ 'T' 可以此输出转换为大写Ş式?/td> |
'z' | 相对?GMT ?RFC 822 格式的数字时区偏U量Q例?-0800?/td> |
'Z' | 表示时区~写形式的字W串。Formatter 的语a环境取代参数的语言环境Q如果有Q?/td> |
's' | 自协调世界时 (UTC) 1970 q?1 ?1 ?00:00:00 至现在所l过的秒敎ͼ?Long.MIN_VALUE/1000 ?Long.MAX_VALUE/1000 之间的差倹{?/td> |
'Q' | 自协调世界时 (UTC) 1970 q?1 ?1 ?00:00:00 至现在所l过的毫U数Q即 Long.MIN_VALUE ?Long.MAX_VALUE 之间的差倹{?/td> |
'B' | 特定于语a环境?a target="_blank">月䆾全称Q例?"January" ?"February"?/td> |
'b' | 特定于语a环境?a target="_blank">月䆾U?/a>Q例?"Jan" ?"Feb"?/td> |
'h' | ?'b' 相同?/td> |
'A' | 特定于语a环境?a target="_blank">星期?/a>全称Q例?"Sunday" ?"Monday" |
'a' | 特定于语a环境?a target="_blank">星期?/a>Uͼ例如 "Sun" ?"Mon" |
'C' | 除以 100 的四位数表示的年份,被格式化为必要时带前导零的两位数Q即 00 - 99 |
'Y' | q䆾Q被格式化ؓ必要时带前导零的四位敎ͼ臛_Q,例如Q?092 {于格里高利历的 92 CE?/td> |
'y' | q䆾的最后两位数Q被格式化ؓ必要时带前导零的两位敎ͼ?00 - 99?/td> |
'j' | 一q中的天敎ͼ被格式化为必要时带前导零的三位数Q例如,对于格里高利历是 001 - 366?/td> |
'm' | 月䆾Q被格式化ؓ必要时带前导零的两位敎ͼ?01 - 13?/td> |
'd' | 一个月中的天数Q被格式化ؓ必要时带前导零两位数Q即 01 - 31 |
'e' | 一个月中的天数Q被格式化ؓ两位敎ͼ?1 - 31?/td> |
'R' | 24 时制的旉Q被格式化ؓ "%tH:%tM" |
'T' | 24 时制的旉Q被格式化ؓ "%tH:%tM:%tS"?/td> |
'r' | 12 时制的旉Q被格式化ؓ "%tI:%tM:%tS %Tp"。上午或下午标记 ('%Tp') 的位|可能与语言环境有关?/td> |
'D' | 日期Q被格式化ؓ "%tm/%td/%ty"?/td> |
'F' | ISO 8601 格式的完整日期,被格式化?"%tY-%tm-%td"?/td> |
'c' | 日期和时_被格式化?"%ta %tb %td %tT %tZ %tY"Q例?"Sun Jul 20 16:17:00 EDT 1969"?/td> |
标志 | 常规 | 字符 | 整数 | 点 | 日期/旉 | 说明 |
'-' | y | y | y | y | y | l果是左对齐的?/td> |
'#' | y1 | - | y3 | y | - | l果应该使用依赖于{换类型的替换形式 |
'+' | - | - | y4 | y | - | l果L包括一个符?/td> |
' ' | - | - | y4 | y | - | 对于正|l果中将包括一个前导空?/td> |
'0' | - | - | y | y | - | l果用零来填充 |
',' | - | - | y2 | y5 | - | l果包括特定于语言环境?a target="_blank">l分隔符 |
'(' | - | - | y4 | y5 | - | l果是用圆括号括v来的负数 |
Calendar c = ...;
String s1 = String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);
String s2 = String.format("Duke's Birthday: %1$tm %<$te,%<$tY", c);
在此介绍下,如何可视化开发Swinglg。现在JavaL的两Ƒּ发工具NetBeans和Eclipse都提供了可视化的功能?
一、NetBeans
q个无需多言QSun官方推荐的Swing开发工P自n已经集成了可视化工具?
下蝲地址Q?
http://www.netbeans.org/downloads/index.html
二、Eclipse
Eclipse本n不提供可视化功能Q需要插件来辅助?
我了解到的,比较常用的插件有两种
1、Visual Editor UVE
关于安装 请参?
http://wiki.eclipse.org/VE/Installing/Archived
说明如下:
VE Installation
Make sure eclipse is close.
Go to http://sourceforge.net/project/showfiles.php?group_id=131065&package_id=154855
Click "Visual Editor patched as in bug 202562"
Click org.eclipse.visualeditor-1.3.0.200709121813.zip
Unpack the .zip file somewhere
In that extracted folder, there is an " org.eclipse.visualeditor-1.3.0.200709121813" subdir, copy what's in that directory to your eclipse installation dir, say yes if prompted to overwrite.
Open eclipse again and go to Window->Preferences->Java. If after expanding 'Java' you see Visual Editor at the bottom, then you are good to go.
2、jigloo
q个以前用过Q感觉还可以?
官方|站?
http://cloudgarden.com/jigloo/
下蝲|址
http://cloudgarden.com/jigloo/dnld_redirect.html
安装说明
Please note: if you have installed 4.0 RC1 or RC2 you will need to delete these folders from the plugins and features folders in eclipse before installing version 4.0.
Alternatively, you can download the zip file from here. Unzip it into the eclipse folder so that the structure is eclipse/plugins/com.cloudgarden.jigloo_4.0.0
安装都很单,使用link的方式来安装Eclipse插gQ方便插件管理,如下所C?
解压yourplugin.zipCQ意目录下Q比如D:\eclipseplugins\yourplugin?
在Eclipse的目录下有个links文g夹,在里面新建文Ӟ命名为anyname.linkQ编辑此文gQ加入如下内容ƈ保存。path = D:/eclipseplugins/yourplugin
详细使用Q请自行搜烦?
其它q有
jformdesigner
官方|址Q?a >http://www.jformdesigner.com/
Visual Swing Designer for Eclipse
开源网址Q?http://code.google.com/p/visualswing4eclipse/
WindowBuilder
官方|址Q?a >http://www.instantiations.com/windowbuilder/
?
使用可视化工h拽编写SwingE序Q一定要注意变量名和代码的可L,否则代码非常让h崩溃?
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/liubijin/archive/2010/03/29/5429713.aspx