文本框(JTextField)和文本域(JTextArea)的使用详解

JTextField的(文本框)使用:

 JTextField 是一个轻量级组件,它允许编辑单行文本。

1.JTextField的常用构造方法:

  JTextField() 构造一个新的 TextField。

 JTextField(int columns) 构造一个具有指定列数的新的空 TextField。

  JTextField(String text) 构造一个用指定文本初始化的新TextField。

 JTextField(String text, int columns) 构造一个用指定文本和列初始化的新TextField。

2.JTextField的常用方法:

    SetText(string) 设置文本域中的文本值
     GetText()返回文本域中的输入文本值

    getColumns()返回文本域的列数

    setEditable(Boolean) 设置文本域是否为只读状态

Testd 的示例代码如下:

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class JTextFieldTest extends JFrame{
	 JFrame jf;  
	 JTextField jtf1,jtf2,jtf3,jtf4;  
	      
	    public static void main(String[] args) {  
	        new JTextFieldTest();  
	}  
	    public JTextFieldTest() {  
	          
	       setTitle("TextFieldTest");  
	
	        jtf1 = new JTextField("jtf1");  
	        jtf2 = new JTextField("jtf2");  
	        jtf3 = new JTextField("jtf3");  
	        jtf4 = new JTextField("jtf4");  
	          
	     
	        jtf4.setFont(new Font("谐体",Font.BOLD|Font.ITALIC,16));  
	        //设置文本的水平对齐方式  
	        jtf4.setHorizontalAlignment(JTextField.CENTER);  
	       
	        setLayout(null);
	        //设置绝对布局
	        jtf1.setBounds(10, 0,300,50);
	        jtf2.setBounds(10, 100, 300,50);
	        jtf3.setBounds(10, 200, 300,50);
	        jtf4.setBounds(10, 300, 300,50);
 
	        add(jtf1);  
	        add(jtf2);  
	        add(jtf3);  
	        add(jtf4); 
   
	       setSize(400, 400);
	       setLocationRelativeTo(null);
	       setDefaultCloseOperation(EXIT_ON_CLOSE);
	       setVisible(true);    	      
	    }  	  
}
JTextArea(文本区)的使用:

1.JTextArea的常用构造方法:

        JTextArea() 构造新的 TextArea。


        JTextArea(String  text) 构造显示指定文本的新的 TextArea。

        JTextArea(int rows, int columns)  构造具有指定行数和列数的新的空 TextArea。

        JTextArea(String  text, int rows, int columns)  构造具有指定文本、行数和列数的新的 TextArea。

构造示例:

JTextArea t1 = new JTextArea();
JTextArea t2 = new JTextArea(2, 8);
JTextArea t3 = new JTextArea("JTextArea3");
JTextArea t4 = new JTextArea("JTextArea4", 5, 10);


2.JTextArea的常用方法:
    使用示例:

t1.setText("JTextArea1");// setText()设置文本显示的内容
t2.append("JTextArea2");// append()方法会将给定文本追加到文档结尾。
t4.setLineWrap(true);// 设置文本区的换行策略。
t4.setFont(new Font("标楷体", Font.BOLD, 16));  //设置当前字体。
 t4.setTabSize(2);//使用setTabSize()方法设置[Tab]键的跳离距

将JTextArea放入JScrollPane中,这样就能利用滚动的效果看到输入超过JTextArea高度的文字.
test的代码如下:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
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;

public class JTextAreaTest extends JFrame implements ActionListener{

	
	        JFrame jf;  
	        JPanel jpanel;  
	        JButton jb1, jb2, jb3;  
	        JTextArea jta = null;  
	        JScrollPane jscrollPane;  
	  
	    public JTextAreaTest() {  
	  
	        setTitle("JTextAreaTest");  
	        setLayout(new BorderLayout());  
	 
	        jta = new JTextArea(10, 15);  
	        jta.setTabSize(4);  
	        jta.setFont(new Font("标楷体", Font.BOLD, 16));  
	        jta.setLineWrap(true);// 激活自动换行功能  
	        jta.setWrapStyleWord(true);// 激活断行不断字功能  
	        jta.setBackground(Color.CYAN);  
	  
	        jscrollPane = new JScrollPane(jta);  
	        jpanel = new JPanel();  
	        jpanel.setLayout(new GridLayout(1, 3));  
	 
	        jb1 = new JButton("复制");  
	        jb1.addActionListener(this);  
	        jb2 = new JButton("粘贴");  
	        jb2.addActionListener(this);  
	        jb3 = new JButton("剪切");  
	        jb3.addActionListener(this);  
	  
	        jpanel.add(jb1);  
	        jpanel.add(jb2);  
	        jpanel.add(jb3);  
	 
	      add(jscrollPane, BorderLayout.CENTER);  
	      add(jpanel, BorderLayout.SOUTH);  
	 
	       setSize(400, 300);  
	       setLocation(400, 200); 
	       setLocationRelativeTo(null);
	       setDefaultCloseOperation(EXIT_ON_CLOSE);
	       setVisible(true);  
	 
	        
	   }  
	  
	   // 覆盖接口ActionListener的方法actionPerformed  
	   public void actionPerformed(ActionEvent e) {  
		   
	        if (e.getSource() == jb1) {  
	            jta.copy();  
	        } else if (e.getSource() == jb2) {  
	           jta.paste();  
	       } else if (e.getSource() == jb3) {  
	           jta.cut();  
	       }  
	   }  
	  
	    public static void main(String[] args) {  
	       new JTextAreaTest();  
	    }  
}


  • 41
    点赞
  • 175
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值