swing - 如何在 JTextArea 中居中对齐文本?

标签 swing jtextarea jtextpane nimbus


我需要文本换行+文本居中+Nimbus外观和感觉+背景颜色为黑色。
我尝试了以下两个组件
**1. JTextPane**
-------**支持:使用 StyledDocument 进行文本环绕 + 文本居中**
-------**问题:自定义背景颜色不起作用 Nimbus 外观和感觉(无论是禁用还是启用)**
这是错误,如下所示 https://bugs.java.com/bugdatabase/view_bug;jsessionid=ab1938d61a7fd83ca2b54eb8df7?bug_id=6789980

我的jdk版本是:1.6.0_33
尝试修复:

UIManager.getLookAndFeelDefaults().put("TextPane.background", Color.RED);

但这也无法覆盖 Nimbus 默认值 #d6d9df (214,217,223)

谁能帮助我在 JTextArea 中实现文本居中? 提前致谢

<强>1。 JTextArea
-------支持:使用 Nimbus LnF 进行文本环绕 + 背景着色(仅当启用时)
-------问题:文本居中是这里的一个问题

最佳答案

要使文本居中,您应该使用 JTextPane 而不是 JTextArea。文本居中是一个大问题。

最好用JTextPane解决后台问题。

当使用 Nimbus LAF 时,您似乎需要提供一个自定义 Painter 来将背景绘制为纯色。看看这个answer作者:@mKorbel。您需要更改属性标签。同样在 FillPainter 中我更改了:

g.setColor(color);
g.setColor(object.getBackground());

关于swing - 如何在 JTextArea 中居中对齐文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17161587/

相关文章:

java - JFrame 窗口拒绝打开

java - TextArea 溢出分配给它的边界以及 Borderlayout 的中心并覆盖整个窗口

java - JTextArea 的 JScrollPane 不起作用;不会滚动

java - JTextPane 将值从数组打印到 Java Swing 应用程序时出现问题

java - 插入符号位置设置为最后一行开头的文本区域 (JTextArea) 的自动文本滚动

java - 在 JFileChooser 中选择文件后关闭 Jframe

java - 买车程序-需要用JButton计算最终价格

java - 返回 StringTokenizer 以便能够在 Textarea 上设置 Text

java - 使用 JTextPane 制作文本下划线字体?

java - 哪个监听器可以知道 JTextPane 值已更改?