Pascal GUI中心

时间:2015-03-21 16:14:21

标签: java swing jtextarea

如何将输出的pascal三角形置于JTextarea中心? 我左边的帕斯卡三角形打印我想把它打印在中心... 这是我的代码

public static int ComputePascal(int rows) {
    for(int i =0;i<rows;i++) {
       int number = 1;           
       String a = String.format("%"+(rows-i)*2+"s","");
        area.append(a);
        for(int j=0;j<=i;j++) {
       String b = String.format("%4d",number);
        area.append(b);
            number = number * (i - j) / (j + 1);
       }
   String c = String.format("%n");
    area.append(c);
    }
    return rows;
} 

1 个答案:

答案 0 :(得分:1)

JTextArea不支持文本居中。

相反,您可以使用JTextPane并将每个段落的属性设置为居中:

JTextPane textPane = new JTextPane();
StyledDocument doc = textPane.getStyledDocument();
SimpleAttributeSet center = new SimpleAttributeSet();
StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER);
doc.setParagraphAttributes(0, doc.getLength(), center, false);

JTextPane不支持append(...)方法,因此您需要将文本直接插入到文档中:

doc.insertString(doc.getLength(), "your text here...", null );