Java JTextArea:中心对齐

Java JTextArea:中心对齐,java,swing,center,jtextarea,center-align,Java,Swing,Center,Jtextarea,Center Align,我试图用java编写一个计算器程序,但我不确定如何将文本集中在我的JTextArea中。我试着搜索谷歌和YouTube,但什么也没找到。以下是我的源代码: import javax.swing.*; import java.awt.*; public class Sect1 extends JTextArea{ public static final Dimension ss = Toolkit.getDefaultToolkit().getScreenSize();

我试图用java编写一个计算器程序,但我不确定如何将文本集中在我的JTextArea中。我试着搜索谷歌和YouTube,但什么也没找到。以下是我的源代码:

import javax.swing.*;
import java.awt.*;

public class Sect1 extends JTextArea{
    public static final Dimension ss = Toolkit.getDefaultToolkit().getScreenSize();
    
    public Sect1(){
        this.setBounds(ss.width / 4, ss.height / 5, 100, 100);
        this.setLineWrap(true);
        this.setWrapStyleWord(true);
    }
}

您可能希望考虑用JTextField输入单行文本,并使用以下内容对其内容进行中心处理:

setHorizontalAlignment(JTextField.CENTER);
但是,如果您需要类似JTextArea的东西来引入多行文本,请使用JTextPane或其子类JEditorPane,它可以为您提供更多自定义和对书面文本的控制

对于JTextPane内的居中文本:

JTextPane textPane = new JTextPane();

StyledDocument documentStyle = textPane.getStyledDocument();
SimpleAttributeSet centerAttribute = new SimpleAttributeSet();
StyleConstants.setAlignment(centerAttribute, StyleConstants.ALIGN_CENTER);
documentStyle.setParagraphAttributes(0, documentStyle.getLength(), centerAttribute, false);

为什么要使用JTextArea?通常,计算器在单行上显示结果,这意味着您使用了JTextField。JTextField允许您将文本水平居中。你也可以使用一个JTextPane,它允许你将文本水平居中。它是一个表格计算器,所以用户会输入10:20,然后输入1:x,然后计算机会说x=2I仍然会建议输入是一个JTextField,然后你可以将结果输出到JTextArea。请参阅:有关使用两个组件的基本示例。跳过JTextArea中文本的居中。完成你的项目,如果你有时间,回到文本的中心。另外,左边的表格计算器可以调整输出。好的,我就把它完成。