很简单,我以前写过一个,我找找!
解决方案 »
- SUN工作站格式和PC数据格式转换
- [请教]关于static变量的使用场合的问题
- 大侠们能总结一下java的使用规律吗,我总是写错,初学!
- 菜鸟问题在线等
- 我安装了jdk1.4,JAVA_HOME也设了,在cmd里面编译时报错:Exception in thread "main" java.lang.NoClassDefFoundError
- URL属于哪个类包?急!
- 十万火急,谁能告诉我,powerdesigner是单独销售,还是在pb盘中?QQ:32243311
- 请问现在在北京用JAVA做什么?????
- 哪里有jdatastore下载!(不会是小孩提出的问题吧!)
- SVNkit获取工作副本中的资源信息
- 一个Applet播放器中的问题!急!!!
- 如何判断鼠标的左键和右键同时按下
public static final int JUST_LEFT = '1';
public static final int JUST_CENTRE = 'c';
public static final int JUST_CENTER = JUST_CENTRE;
public static final int JUST_RIGHT = 'r';
private int just;
private int maxChars;
public StringAlign(int maxChars,int just) {
switch(just) {
case JUST_LEFT:
case JUST_CENTRE:
case JUST_RIGHT:
this.just = just;
break;
default:
throw new IllegalArgumentException("invalid justification arg.");
}
if(maxChars < 0) {
throw new IllegalArgumentException("maxChars must be positive");
}
this.maxChars = maxChars;
}
public StringBuffer format(Object obj,StringBuffer where,FieldPosition ignore) {
String s = (String)obj;
String wanted = s.substring(0,Math.min(s.length(),maxChars));
if(wanted.length() > maxChars) {
where.append(wanted);
}
else switch(just) {
case JUST_RIGHT:
pad(where,maxChars - wanted.length());
where.append(wanted);
break;
case JUST_CENTRE:
int startPos = where.length();
pad(where,(maxChars - wanted.length())/2);
where.append(wanted);
pad(where,(maxChars - wanted.length())/2);
pad(where,maxChars - (where.length() - startPos));
break;
case JUST_LEFT:
where.append(wanted);
pad(where,maxChars - wanted.length());
break;
}
return where;
}
protected final void pad(StringBuffer to, int howMany) {
for(int i = 0;i < howMany;i++)
to.append(' ');
}
String format(String s) {
return format(s,new StringBuffer(),null).toString();
}
public Object parseObject(String source,ParsePosition pos) {
return source;
}
}