zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

实例 使用 文本 文本框 JavaSwing
2023-06-13 09:15:28 时间

一:JTextField的(文本框)使用:

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

1.JTextField的常用构造方法:

JTextField()构造一个新的TextField。

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

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

JTextField(Stringtext,intcolumns)构造一个用指定文本和列初始化的新TextField。

2.JTextField的常用方法:

SetText(string)设置文本域中的文本值
GetText()返回文本域中的输入文本值
getColumns()返回文本域的列数
setEditable(Boolean)设置文本域是否为只读状态

3.JTextField的使用示例:

复制代码代码如下:


importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;

publicclassJTextFieldDemo1{

 JFramejf;
 JPaneljp;
 JTextFieldjtf1,jtf2,jtf3,jtf4;
 
 publicJTextFieldDemo1(){
  
  jf=newJFrame("TextField案例");
  
  ContainercontentPane=jf.getContentPane();
  contentPane.setLayout(newBorderLayout());
  
  jp=newJPanel();
  
  jtf1=newJTextField();
  jtf2=newJTextField(10);
  jtf3=newJTextField("指定文本内容");
  jtf4=newJTextField("指定内容+指定长度(只读状态)",30);
  
  jtf3.setEnabled(false);
  jtf4.setFont(newFont("谐体",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(newWindowAdapter(){
   publicvoidwindowClosing(WindowEvente){
    System.exit(0);
   }
  });
 }

 publicstaticvoidmain(String[]args){
  newJTextFieldDemo1();
}
}

效果图:

 

二:JTextArea(文本区)的使用:

1.JTextArea的常用构造方法:

JTextArea()构造新的TextArea。

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

JTextArea(introws,intcolumns) 构造具有指定行数和列数的新的空TextArea。

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

使用示例:

复制代码代码如下:

JTextAreat1=newJTextArea();
JTextAreat2=newJTextArea(2,8);
JTextAreat3=newJTextArea("JTextArea3");
JTextAreat4=newJTextArea("JTextArea4",5,10);

2.JTextArea的常用方法:

使用示例:

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

将JTextArea放入JScrollPane中,这样就能利用滚动的效果看到输入超过JTextArea高度的文字.

3.JTextArea使用的案例:

复制代码代码如下:
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;

//实现接口ActionListener
publicclassJTextAreaDemo3implementsActionListener{

 JFramejf;
 JPaneljpanel;
 JButtonjb1,jb2,jb3;
 JTextAreajta=null;
 JScrollPanejscrollPane;

 publicJTextAreaDemo3(){

  jf=newJFrame("JTextArea案例3");
  ContainercontentPane=jf.getContentPane();
  contentPane.setLayout(newBorderLayout());

  jta=newJTextArea(10,15);
  jta.setTabSize(4);
  jta.setFont(newFont("标楷体",Font.BOLD,16));
  jta.setLineWrap(true);//激活自动换行功能
  jta.setWrapStyleWord(true);//激活断行不断字功能
  jta.setBackground(Color.pink);

  jscrollPane=newJScrollPane(jta);
  jpanel=newJPanel();
  jpanel.setLayout(newGridLayout(1,3));

  jb1=newJButton("复制");
  jb1.addActionListener(this);
  jb2=newJButton("粘贴");
  jb2.addActionListener(this);
  jb3=newJButton("剪切");
  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(newWindowAdapter(){
   publicvoidwindowClosing(WindowEvente){
    System.exit(0);
   }
  });
 }

 //覆盖接口ActionListener的方法actionPerformed
 publicvoidactionPerformed(ActionEvente){
  if(e.getSource()==jb1){
   jta.copy();
  }elseif(e.getSource()==jb2){
   jta.paste();
  }elseif(e.getSource()==jb3){
   jta.cut();
  }
 }

 publicstaticvoidmain(String[]args){
  newJTextAreaDemo3();
 }
}

运行结果演示: