服务器之家

服务器之家 > 正文

Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例

时间:2019-12-01 13:04     来源/作者:junjie

一: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) 设置文本域是否为只读状态

3.JTextField的使用示例:

 

复制代码代码如下:


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

 

public class JTextFieldDemo1 {

 JFrame jf;
 JPanel jp;
 JTextField jtf1,jtf2,jtf3,jtf4;
 
 public JTextFieldDemo1() {
  
  jf = new JFrame("TextField案例");
  
  Container contentPane = jf.getContentPane();
  contentPane.setLayout(new BorderLayout());
  
  jp = new JPanel();
  
  jtf1 = new JTextField();
  jtf2 = new JTextField(10);
  jtf3 = new JTextField("指定文本内容");
  jtf4 = new JTextField("指定内容+指定长度(只读状态)",30);
  
  jtf3.setEnabled(false);
  jtf4.setFont(new Font("谐体",Font.BOLD|Font.ITALIC,16));
  //设置文本的水平对齐方式
  jtf4.setHorizontalAlignment(JTextField.CENTER);
  
  jp.add(jtf1);
  jp.add(jtf2);
  jp.add(jtf3);
  jp.add(jtf4);
  
  contentPane.add(jp);
  
  jf.pack();
  jf.setLocation(400, 200);
  jf.setVisible(true);

  jf.addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
    System.exit(0);
   }
  });
 }

 public static void main(String[] args) {
  new JTextFieldDemo1();
}
}

 

效果图:

Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例

二: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高度的文字.

3.JTextArea使用的案例:

 

复制代码代码如下:


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

 

//实现接口ActionListener
public class JTextAreaDemo3 implements ActionListener {

 JFrame jf;
 JPanel jpanel;
 JButton jb1, jb2, jb3;
 JTextArea jta = null;
 JScrollPane jscrollPane;

 public JTextAreaDemo3() {

  jf = new JFrame("JTextArea案例3");
  Container contentPane = jf.getContentPane();
  contentPane.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.pink);

  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);

  contentPane.add(jscrollPane, BorderLayout.CENTER);
  contentPane.add(jpanel, BorderLayout.SOUTH);

  jf.setSize(400, 300);
  jf.setLocation(400, 200);
  jf.setVisible(true);

  jf.addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
    System.exit(0);
   }
  });
 }

 // 覆盖接口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 JTextAreaDemo3();
 }
}

 

运行结果演示:

Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部