转载自:http://www.blogjava.net/cerulean/archive/2010/03/10/314976.html
引子只是个小问题,JTextArea多行文本,想设置文字的对齐方式为居中对齐,却发现死活没有合适有效的方法,又试了JTextField和JLabel,都不理想。搜了一溜够看到JTextPane的解决方法,其实真是有点儿大材小用了。JTextPane里可以设置style,对齐方式、字体字号、颜色等等,并且还可以设置style的作用范围,挺方便的。另外,想把文字区域背景设为透明的也是在API中找了一通,才发现敢情就是setOpacity,呃,对这个单词实在是太不敏感了。。。。
把在coderanch上搜的例子贴在这里吧,以防以后忘了:
import java.awt.*;
import javax.swing.*;
import javax.swing.text.*;
public class Styling
{
public Styling()
{
String text = "To refer to locations within the sequence, the " +
"coordinates used are the location between two " +
"characters.\nAs the diagram below shows, a location " +
"in a text document can be referred to as a position, " +
"or an offset. This position is zero-based.";
SimpleAttributeSet aSet = new SimpleAttributeSet();
StyleConstants.setForeground(aSet, Color.blue);
StyleConstants.setBackground(aSet, Color.orange);
StyleConstants.setFontFamily(aSet, "lucida bright italic");
StyleConstants.setFontSize(aSet, 18);
SimpleAttributeSet bSet = new SimpleAttributeSet();
StyleConstants.setAlignment(bSet, StyleConstants.ALIGN_CENTER);
StyleConstants.setUnderline(bSet, true);
StyleConstants.setFontFamily(bSet, "lucida typewriter bold");
StyleConstants.setFontSize(bSet, 24);
JTextPane textPane = new JTextPane();
textPane.setText(text);
StyledDocument doc = textPane.getStyledDocument();
doc.setCharacterAttributes(105, doc.getLength()-105, aSet, false);
doc.setParagraphAttributes(0, 104, bSet, false);
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new JScrollPane(textPane));
f.setSize(400,400);
f.setLocation(200,200);
f.setVisible(true);
}
public static void main(String[] args)
{
new Styling();
}
}
分享到:
相关推荐
### JAVA中的JTextPane:一个全面的解析与实例讲解 在Java Swing库中,`JTextPane`是一个功能强大的文本组件,它允许显示和编辑富文本格式,包括字体、颜色和排版等特性。本文将深入探讨`JTextPane`的基本概念、...
Swing中的主要组件包括JFrame(窗口)、JButton(按钮)、JLabel(标签)、JTextField(文本框)、JTextArea(多行文本框)、JTable(表格)、JTree(树形结构)等。开发者可以通过这些组件组合,实现各种复杂的功能...
`JTextPane`相比于基础的`JTextArea`,增加了对富文本的支持,如字体样式、颜色、链接等。在`JTextPane`中插入图片,通常需要使用`SimpleAttributeSet`和`StyledEditorKit`来实现。以下是一些关键步骤: 1. **创建`...
通过New -> Other -> MyEclipse -> Swing -> Matisse Form,开发者可以选择创建一个新的JFrame。在生成的代码中,`helloJFrame`类的`initComponents()`方法自动设置了布局管理器。这里使用的是`javax.swing....
首先,`JTextPane`不同于简单的`JTextArea`,它可以处理更复杂的文本格式,如字体、颜色、样式等。要实现关键字变色,我们需要使用` StyledDocument `接口,它是`JTextPane`内部文档的抽象表示,支持样式和格式的...
1. 选择`New` -> `Other` -> `MyEclipse` -> `Swing` -> `Matisse Form`,然后选择`JFrame`模板。 2. 在生成的代码中,我们看到`helloJFrame`类扩展了`javax.swing.JFrame`,并重写了构造函数以及`initComponents()`...
"swing jtextArea滚动条和文字缩放效果详解" swing jtextArea是Java Swing中的一种组件,用于显示多行文本。今天,我们将详细介绍swing jtextArea滚动条和文字缩放效果,并提供了相关的代码实例。 首先,让我们...
Timer timer = new Timer(50, e -> { x++; // 更新x坐标,也可以同时更新y坐标实现上下移动 if (x > frame.getWidth()) { // 边界检查,防止文字移出窗口 x = -getText().length() * 10; // 重置位置 } ...
### Java Swing JTextArea 实现不可修改文本内容及右键菜单定制 #### 一、概述 在Java Swing开发中,`JTextArea` 是一个非常常用的组件,用于显示或编辑多行文本。有时候,我们可能需要创建一个只读的文本区域或者...
SwingUtilities.invokeLater(() -> { new ScrollTextExample().createAndShowGUI(); }); } private void createAndShowGUI() { JFrame frame = new JFrame("Java 滚动文字"); textArea = new JTextArea(10, ...
setTitle("进程调度实验演示--->欧海川制作"); setSize(900,700); ButtonPanel panel=new ButtonPanel(); Container contentPane=getContentPane(); contentPane.add(panel); } } class ButtonPanel ...
在Java Swing库中,`JTextArea` 是一个用于显示和编辑多行文本的组件。有时候在编程时,我们可能需要为 `JTextArea` 添加行号功能,以方便用户阅读和编辑代码或者数据。这个功能可以通过自定义边框来实现,就像标题...
总的来说,将Log4j日志重定向到JTextArea是一种实用的GUI日志展示方式,它可以帮助开发者在桌面应用中实时查看和分析程序运行状态。通过自定义Appender并集成Swing组件,我们可以构建出具有直观反馈的日志系统,提升...
Java 弹出菜单是 Java 图形用户界面编程中的一种常用控件,用于提供给用户更多的交互方式。在 Java 中,弹出菜单通常是通过 JPopupMenu 类来实现的。今天,我们将学习如何使用 Java 弹出菜单来为 JTextArea 添加右键...
cyber_kustom_component 该项目旨在开发具有可定制的Swing组件的库。... -KToolTip-> ToolTip变体; 实施了新属性(V 0.1.5): KTextField -大写字母属性:设置后,所有输入的字符均为大写; -k_block_white_spac
根据给定的信息,本文将详细解释如何通过Java Swing框架中的`JTextArea`组件来实现更改特定文本区域背景颜色的功能。 ### 一、项目背景与需求分析 #### 1.1 项目背景 在开发图形用户界面(GUI)应用时,经常需要对...
JTextArea是Swing库提供的一个多行文本编辑框组件,可以用于在GUI应用程序中显示和编辑大段文本。
jmp/jsr 和分支的标签,例如 -> lab: jmp lab: 加载/保存 asm 源。 .byt 也知道字符 (.byt 'h','e','l','l','o')模拟器功能运行、重置和单步执行。 显示和更改寄存器和标志。 反汇编当前指令。 十六进制窗口保存/...
-- Maven --> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6</version> </dependency> <!-- Gradle --> implementation 'commons-net:commons-net:3.6' ``` ...
在Java Swing库中,`JTextArea`是一个非常重要的组件,用于在GUI应用程序中显示和编辑多行文本。它主要用于创建类似记事本的文本输入区域,可以用来展示大量的文本数据或者接收用户输入的多行文本。`JTextArea`是`...