码迷,mamicode.com
首页 > 其他好文 > 详细

记事本的多行文本区(文本区和滚动条)

时间:2016-05-13 01:41:05      阅读:578      评论:0      收藏:0      [点我收藏+]

标签:

    单行文本的输入存在严重的缺陷,也不适合实际的运用,本节通过一个无功能的记事本来介绍可以进行多行输入的JTextAre

JTextArea

 JTextArea()    :创建一个内容为空的文本区

JTextArea(Document doc)  :创建具有指定文档的文本区

JTextArea(Document doc,String text,int rows,int columns) :创建具有指定文档,行数,列数的文本区

JTextArea(int rows,int columns)   :指定行数,列数的文本区

JTextArea(String text)  :指定文本内容的文本区

JTextArea(String text,int rows,int columns)   :指定文本内容和行数,列数的文本区

JTextArea 的一些常用方法:

public void append(String str) :将给定文本追加到文档结尾。 
boolean getLineWrap() :获取文本区的换行策略。 
public int getRows() :返回 TextArea 中的行数。 
public boolean getWrapStyleWord() :获取换行方式(如果文本区要换行)。 
public void setWrapStyleWord(boolean word) :设置换行方式(如果文本区要换行)
public void insert(String str, int pos) :将指定文本插入指定位置。  
public void setColumns(int columns) :设置此 TextArea 中的列数。
public void setFont(Font f) :设置当前字体。 
public void setLineWrap(boolean wrap) :设置文本区的换行策略。 
public void setRows(int rows) :设置此 TextArea 的行数。 
public void setEditable(boolean b):设置文本区的编辑状态。参数为true表示可编辑状态,为false则表示不可编辑状态

JScrollPane
JscrollPane() :创建一个滚动条,水平和垂直都可以显示
JscrollPane(Component view) : 创建一个显示指定组件内容的滚动条,当组件的内容超过视图大小就会显示水平和垂直的的滚动条
JscrollPane(Component view,int vsbPolicy,int hsbPolicy)  :创建一个显示指定组件内容的滚动条,且有指定滚动策略的滚动条
JscrollPane(int vsbPolicy,int hsbPolicy)  :创建一个有指定滚动策略的滚动条
JscrollPane类的构造方法中使用的滚动条策略主要有6种:
常量                                                                                                         常量含义
HORIZONTAL_SCROLLBAR_AS_NEEDED                                 当需要时显示水平滚动条 HORIZONTAL_SCROLLBAR_ALWAYS                                          一直显示水平滚动条 HORIZONTAL_SCROLLBAR_NEVER                                           一直不显示水平滚动条 VERTICAL_SCROLLBAR_AS_NEEDED                                      当需要时显示垂直滚动条 VERTICAL_SCROLLBAR_ALWAYS                                               一直显示垂直滚动条 VERTICAL_SCROLLBAR_NEVER                                                一直不显示垂直滚动条
VERTICAL






public int getHorizontalScrollBarPolicy  ():  获取水平滚动策略值

public int getVerticalScrollBarPolicy()  :获取垂直滚动策略值

public void getHorizontalScrollBarPolicy  ():  设置水平滚动策略值

public void getVerticalScrollBarPolicy()  :设置垂直滚动策略值

public boolean isWheelScrollingEnabled()  : 设置是否进行滚动以响应鼠标滚轮

public void setViewportView(Conponent view) :设置滚动条中的滚动组件

public void setWheelScrollingEnabled(boolean handleWheel):启动/禁用对鼠标滚轮滚动的移动响应

代码实例:

package ch10;

import java.awt.event.*;

import javax.swing.*;

public class NoteTextArea extends JFrame implements ActionListener
{
    private JPanel jp = new JPanel ();
    JButton jb1 = new JButton("点我自动换行");
    JButton jb2 = new JButton("点我不换行");
    private JTextArea jt = new JTextArea();
    private JScrollPane js = new JScrollPane(jt);
    public NoteTextArea()
    {
    	jp.setLayout(null);
    	jb1.setBounds(40,40,180,20);
    	jb2.setBounds(280,40,180,20);
    	jp.add(jb1);
    	jp.add(jb2);
    	jb1.addActionListener(this);
    	jb2.addActionListener(this);
    	js.setBounds(40,80,420,100);
    	jp.add(js);
    	jt.setLineWrap(false);
    	for(int i=0;i<30;i++)
    	{
    		jt.append("自动换行,不换行!");
    	}
    	this.add(jp);
    	this.setBounds(80,80,300,300);
    	this.setVisible(true);
    	this.setTitle("记事本多行文本区");
    	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void actionPerformed(ActionEvent a)
    {
    	if(a.getSource()==jb1)
    	{
    		jt.setLineWrap(true);
    	}
    	else if(a.getSource()==jb2)
    	{
    		jt.setLineWrap(false);
    	}
    }
    public static void main(String args[])
    {
    	new NoteTextArea();
    }
}


记事本的多行文本区(文本区和滚动条)

标签:

原文地址:http://blog.csdn.net/weixinru4631260/article/details/51344249

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!