`
isiqi
  • 浏览: 16468284 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

JTextArea比较详细的使用

阅读更多

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.Graphics;

import java.awt.Image;

import javax.swing.GrayFilter;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

/***

* 给JTextArea添加背景色

* @author Administrator

*

*/

public class BackgroundSample {

public static void main(String args[]) {

JFrame frame = new JFrame("Background Example");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final ImageIcon imageIcon = new ImageIcon("draft.gif");

JTextArea textArea = new JTextArea() {

Image image = imageIcon.getImage();

Image grayImage = GrayFilter.createDisabledImage(image);

{

setOpaque(false);

}

public void paint(Graphics g) {

g.drawImage(grayImage, 0, 0, this);

super.paint(g);

}

};

JScrollPane scrollPane = new JScrollPane(textArea);

Container content = frame.getContentPane();

content.add(scrollPane, BorderLayout.CENTER);

frame.setSize(250, 250);

frame.setVisible(true);

}

}

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* 处理JTextArea的换行操作
* @author Administrator
*
*/
public class TextAreaFrame extends JFrame implements ActionListener{
private JButton insertButton = new JButton("Insert");
private JButton wrapButton = new JButton("Wrap");
private JButton noWrapButton = new JButton("No wrap");
private JTextArea textArea = new JTextArea(8, 40);
private JScrollPane scrollPane = new JScrollPane(textArea);
public TextAreaFrame() {
JPanel p = new JPanel();
p.add(insertButton);
insertButton.addActionListener(this);
p.add(wrapButton);
wrapButton.addActionListener(this);
p.add(noWrapButton);
noWrapButton.addActionListener(this);
getContentPane().add(p, "South");
getContentPane().add(scrollPane, "Center");
setTitle("TextAreaTest");
setSize(300, 300);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
if (source == insertButton)
textArea
.append("textArea The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.");
else if (source == wrapButton) {
//常用方法有对两个方法介绍
textArea.setWrapStyleWord(true);
textArea.setLineWrap(true);
scrollPane.validate();
} else if (source == noWrapButton) {
textArea.setLineWrap(false);
textArea.setWrapStyleWord(false);
scrollPane.validate();
}
}
public static void main(String[] args) {
JFrame f = new TextAreaFrame();
f.show();
}
}
import java.awt.BorderLayout;
import java.awt.Container;
import java.util.Hashtable;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.text.DefaultEditorKit;
/**
* 使用按钮做剪切、复制、粘贴操作
* @author Administrator
*
*/
public class CutPasteSample {
public static void main(String args[]) {
JFrame frame = new JFrame("Cut/Paste Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container content = frame.getContentPane();
JTextField textField = new JTextField();
JTextArea textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
content.add(textField, BorderLayout.NORTH);
content.add(scrollPane, BorderLayout.CENTER);
Action actions[] = textField.getActions();
Action cutAction = TextUtilities.findAction(actions,
DefaultEditorKit.cutAction);
Action copyAction = TextUtilities.findAction(actions,
DefaultEditorKit.copyAction);
Action pasteAction = TextUtilities.findAction(actions,
DefaultEditorKit.pasteAction);
JPanel panel = new JPanel();
content.add(panel, BorderLayout.SOUTH);
JButton cutButton = new JButton(cutAction);
cutButton.setText("Cut");
panel.add(cutButton);
JButton copyButton = new JButton(copyAction);
copyButton.setText("Copy");
panel.add(copyButton);
JButton pasteButton = new JButton(pasteAction);
pasteButton.setText("Paste");
panel.add(pasteButton);
frame.setSize(250, 250);
frame.setVisible(true);
}
}
class TextUtilities {
private TextUtilities() {
}
public static Action findAction(Action actions[], String key) {
Hashtable commands = new Hashtable();
for (int i = 0; i < actions.length; i++) {
Action action = actions[i];
commands.put(action.getValue(Action.NAME), action);
}
return (Action) commands.get(key);
}
}
分享到:
评论

相关推荐

    java_JTextArea_实现不可修改文本内容、右键菜单

    本文将详细介绍如何使用Java Swing中的`JTextArea`组件实现不可修改的文本内容,并定制右键菜单。 #### 二、基础知识 在深入了解实现细节之前,我们先简要回顾一下与本主题相关的基础知识: 1. **JTextArea**: `...

    JTextArea 实现行号

    这里我们将详细讲解如何通过继承 `AbstractBorder` 类来创建一个具有行号功能的自定义边框,并将其应用到 `JTextArea` 上。 首先,让我们分析提供的文件名 `LineNumberBorder.java`。这很可能是实现行号功能的...

    改变JTextArea指定位置的背景色

    根据给定的信息,本文将详细解释如何通过Java Swing框架中的`JTextArea`组件来实现更改特定文本区域背景颜色的功能。 ### 一、项目背景与需求分析 #### 1.1 项目背景 在开发图形用户界面(GUI)应用时,经常需要对...

    swing jtextArea滚动条和文字缩放效果

    今天,我们将详细介绍swing jtextArea滚动条和文字缩放效果,并提供了相关的代码实例。 首先,让我们了解一下swing jtextArea的基本概念。swing jtextArea是一个组件,用于显示多行文本,可以滚动、编辑和格式化...

    如何在整个数组列表的jtextarea中显示结果

    下面将详细解释如何在JTextArea中有效地显示数组列表中的所有数据。 首先,我们需要创建一个JTextArea实例。这可以通过调用`new JTextArea()`完成,或者可以设置初始行数和列数,如`new JTextArea(numRows, ...

    Java_Swing的复杂控件

    "Java_Swing的复杂控件" 本资源主要介绍了Java_Swing中的多种复杂控件的使用,特别是JTextArea控件的...本资源提供了JTextArea控件的使用和事件处理的详细介绍,帮助开发者更好地理解和使用Java_Swing中的复杂控件。

    毕业设计项目开发-java swing图书管管理系统含详细使用说明.zip

    提供的详细使用说明将涵盖系统安装、配置、操作步骤和常见问题解答,帮助用户快速上手和解决可能出现的问题。 10. **测试与调试** 项目中可能包含单元测试和集成测试,以验证各模块功能的正确性,并使用调试工具...

    swing中文乱码问题(Linux和window)

    以下是一个详细的步骤指南,帮助开发者解决乱码问题。 **第一步:** 检查系统默认字符集设置。可以通过命令行输入 `locale` 来查看当前系统的语言环境变量。如果发现字符集不是UTF-8或其他支持中文的编码格式,则...

    jTextField中关键字加颜色

    2. **关键字搜索与匹配**:通过比较 `jTextField1` 中的文本与 `jTextArea1` 的内容来查找关键字。 3. **文本高亮显示**:利用 `Highlighter` 接口对找到的关键字进行颜色高亮处理。 ### 详细说明 #### 1. 文本...

    毕业设计项目开发-Java swing实现学生信息管理系统源码含详细使用说明.zip

    8. **文档编写**:项目包含“详细使用说明”,意味着开发者不仅实现了功能,还提供了用户指南,这涉及到技术写作技巧,包括功能描述、操作步骤和常见问题解答。 9. **版本控制**:考虑到项目的持续维护,开发者可能...

    JTestArea实现模拟的控制台

    本文将深入探讨如何使用`JTextArea`来实现一个模拟控制台,并讨论相关的设计模式和技术。 首先,让我们了解`JTextArea`。`JTextArea`是Java Swing库中的一个组件,它可以用来显示和编辑多行文本。通过设置其属性,...

    Java版qq详细教程下载,五个文档

    1. **组件使用**:包括JFrame、JPanel、JButton、JLabel、JTextArea、JTextField等基本组件的使用方法,以及如何自定义组件。 2. **布局管理**:讲解各种布局管理器如FlowLayout、BorderLayout、GridLayout、...

    java swing实现的汽车租赁管理系统(详细文档+视频+源码).zip

    开发者可能用JTextArea记录租赁合同,使用JSpinner来设置租赁天数,通过JButton执行租车和还车操作。 3. **客户管理**:系统会保存客户的基本信息,如姓名、联系方式、驾驶证号等。可以使用JForm来输入和编辑客户...

    java记事本 详细解说+代码

    5. **文本处理**:JTextArea用于显示和编辑文本,它的内容可以使用Document接口进行管理。查找和替换功能需要对文本进行搜索,并可能涉及到正则表达式。 6. **代码详细解说**:文档中提供的代码详细解说对于理解每...

    java课程设计非常好的例子,很详细应付老师没问题

    程序使用了多个类和接口,包括 This_number_too_big 异常类、MyTextEditor 类、Dialog 类、JButton 类、JLabel 类、JTextArea 类等。 五、测试分析 测试分析中,需要对程序进行功能测试和性能测试。功能测试中,...

    Java实现的记事本程序

    "打开"功能则涉及到`java.io.*`包中的文件读取,可能使用`BufferedReader`或者`FileReader`读取文本文件内容并填充到`JTextArea`;"保存"功能可能是利用`BufferedWriter`或`FileWriter`将`JTextArea`的内容写入到...

    java课程设计 广告牌.doc

    * 在MyFrame窗口中,使用JTextArea显示文字信息,使用JButton按钮控件实现文字的颜色、字体、字号的修改。 * 使用Font类设置文字的字体和大小,使用Color类设置文字的颜色。 * 使用ActionListener监听按钮事件,...

    给txtQueryResult加滚动条

    要为`txtQueryResult`添加滚动条,可以使用`JScrollPane`组件来包装`JTextArea`。下面将详细介绍如何实现这一功能: 1. **创建JScrollPane实例**: - 创建一个新的`JScrollPane`对象,并将`txtQueryResult`作为...

    java swing 汽车租赁管理系统(详细文档+视频+源码).zip

    7. **视频教程和详细文档**:这部分可能是为了帮助用户或开发者理解系统的实现细节和操作流程,提供了从理论到实践的指导。 8. **源代码**:包含了系统的全部Java代码,可以供学习者分析和修改,了解如何使用Swing...

    简答计算器课程设计.docx

    JPannel1 中包含一个 JTextArea 文档和一个“CE”按钮,用于显示计算结果和清零操作。JPannel2 中包含了 16 个按钮,用于实现加、减、乘、除、等基本运算。 2. 系统详细设计 在系统详细设计中,我们首先定义了三个...

Global site tag (gtag.js) - Google Analytics