Java JTextArea:中心对齐
我试图用java编写一个计算器程序,但我不确定如何将文本集中在我的JTextArea中。我试着搜索谷歌和YouTube,但什么也没找到。以下是我的源代码: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();
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中文本的居中。完成你的项目,如果你有时间,回到文本的中心。另外,左边的表格计算器可以调整输出。好的,我就把它完成。