zoukankan      html  css  js  c++  java
  • Java知识积累1-StringAlign实现文字居中左右对齐

    import java.text.*;
    public class StringAlign extends Format{
    public static final int JUST_LEFT='l'; //左对齐常量
    public static final int JUST_RIGHT='r'; //右对齐常量
    public static final int JUST_CENTER='c'; //居中常量
    private int just; //当前的对其
    private int maxChars;
    public StringAlign(int maxChars,int just){
    switch (just) {
    case JUST_CENTER:
    case JUST_LEFT:
    case JUST_RIGHT:
    this.just=just;
    break;
    default:
    throw new IllegalArgumentException("invalid justification arg.");
    }
    if(maxChars<0){
    throw new IllegalArgumentException("必须是正数!");
    }
    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_LEFT:
    where.append(wanted);
    pad(where,maxChars-wanted.length());
    break;
    case JUST_CENTER:
    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;

    }
    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();
    }
    @Override
    public Object parseObject(String source, ParsePosition pos) {
    // TODO Auto-generated method stub
    return source;
    }

    }

  • 相关阅读:
    一道面试题引发的对JavaScript类型转换的思考
    微信后台开发第一步:nodeJS+express接入微信后台详细教程
    class命名
    了解真实的『REM』手机屏幕适配
    js刷新框架子页面的七种方法代码
    移动前端开发之viewport的深入理解
    移动web点5像素的秘密
    refactor window_x64微信小程序环境搭建
    JSON API免费接口
    webpack
  • 原文地址:https://www.cnblogs.com/ljbky/p/4456752.html
Copyright © 2011-2022 走看看