JTextField 即 单行文本框,JTextArea 即 多行文本框。
文本框是文本的编辑器,可以指定文本的初始数据 即默认文本(text),可以指定文字的颜色(foreground)、文字的字体(font)、文字的对齐方式(horizontalAlignment)、当前的工具提示(toolTipText)(注意:JTextArea 不可指定文字的对齐方式)
JTextField 是一个轻量级组件,它允许编辑单行文本。
JTextField() 构造一个新的 TextField。JTextField() 构造一个新的 TextField。
JTextField(int columns) 构造一个具有指定列数的新的空 TextField。
JTextField(String text) 构造一个用指定文本初始化的新TextField。
JTextField(String text, int columns) 构造一个用指定文本和列初始化的新TextField。
SetText(string) 设置文本域中的文本值
GetText()返回文本域中的输入文本值
getColumns()返回文本域的列数
setEditable(Boolean) 设置文本域是否为只读状态
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class JTextFieldTest extends JFrame{
JFrame lc;
JTextField lc1,lc2,lc3,lc4;
public static void main(String[] args) {
new JTextFieldTest();
}
public JTextFieldTest() {
setTitle("TextFieldTest");
lc1 = new JTextField("长沙学院");
lc2 = new JTextField("计数院");
lc3 = new JTextField("计科一班");
lc4 = new JTextField("102");
lc1.setFont(new Font("斜体",Font.ITALIC|Font.ITALIC,32));
lc2.setFont(new Font("斜体",Font.LAYOUT_LEFT_TO_RIGHT|Font.BOLD,24));
lc4.setFont(new Font("粗体",Font.BOLD|Font.ITALIC,16));
//设置文本的水平对齐方式
lc1.setHorizontalAlignment(JTextField.CENTER);
lc4.setHorizontalAlignment(JTextField.CENTER);
setLayout(null);
//设置绝对布局
lc1.setBounds(10, 0,300,50);
lc2.setBounds(10, 100, 300,50);
lc3.setBounds(10, 200, 300,50);
lc4.setBounds(10, 300, 300,50);
add(lc1);
add(lc2);
add(lc3);
add(lc4);
setSize(400, 400);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}
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);
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.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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{
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.black);
jta.setForeground(Color.white);
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();
}
}