JTextArea is a part of java Swing package . It represents a multi line area that displays text. It is used to edit the text .
JTextArea inherits JComponent class. The text in JTextArea can be set to different available fonts and can be appended to new text . A text area can be customized to the need of user .
Constructors of JTextArea are:
- JTextArea() : constructs a new blank text area .
- JTextArea(String s) : constructs a new text area with a given initial text.
- JTextArea(int row, int column) : constructs a new text area with a given number of rows and columns.
- JTextArea(String s, int row, int column) : constructs a new text area with a given number of rows and columns and a given initial text.
Commonly used methods :
- append(String s) : appends the given string to the text of the text area.
- getLineCount() : get number of lines in the text of text area.
- setFont(Font f) : sets the font of text area to the given font.
- setColumns(int c) : sets the number of columns of the text area to given integer.
- setRows(int r) : sets the number of rows of the text area to given integer.
- getColumns() : get the number of columns of text area.
- getRows() : get the number of rows of text area.
1. Program to create a simple JTextArea
Java
// Java Program to create a simple JTextArea import java.awt.event.*; import java.awt.*; import javax.swing.*; class text extends JFrame implements ActionListener { // JFrame static JFrame f; // JButton static JButton b; // label to display text static JLabel l; // text area static JTextArea jt; // default constructor text() { } // main class public static void main(String[] args) { // create a new frame to store text field and button f = new JFrame("textfield"); // create a label to display text l = new JLabel("nothing entered"); // create a new button b = new JButton("submit"); // create a object of the text class text te = new text(); // addActionListener to button b.addActionListener(te); // create a text area, specifying the rows and columns jt = new JTextArea( 10 , 10 ); JPanel p = new JPanel(); // add the text area and button to panel p.add(jt); p.add(b); p.add(l); f.add(p); // set the size of frame f.setSize( 300 , 300 ); f.show(); } // if the button is pressed public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if (s.equals("submit")) { // set the text of the label to the text of the field l.setText(jt.getText()); } } } |
Output:
2. Program to create a JTextArea and set a initial text and add buttons to change the font of text area.
Java
// Java Program to create a JTextArea and // set a initial text and add buttons to change // the font of text area. import java.awt.event.*; import java.awt.*; import javax.swing.*; class text11 extends JFrame implements ActionListener { // JFrame static JFrame f; // JButton static JButton b, b1, b2, b3; // label to display text static JLabel l, l1; // text area static JTextArea jt; // default constructor text11() { } // main class public static void main(String[] args) { // create a new frame to store text field and button f = new JFrame("textfield"); // create a label to display text l = new JLabel("nothing entered"); l1 = new JLabel(" 0 lines"); // create a new buttons b = new JButton("submit"); b1 = new JButton("plain"); b2 = new JButton("italic"); b3 = new JButton("bold"); // create a object of the text class text11 te = new text11(); // addActionListener to button b.addActionListener(te); b1.addActionListener(te); b2.addActionListener(te); b3.addActionListener(te); // create a text area, specifying the rows and columns jt = new JTextArea("please write something ", 10 , 10 ); JPanel p = new JPanel(); // add the text area and button to panel p.add(jt); p.add(b); p.add(b1); p.add(b2); p.add(b3); p.add(l); p.add(l1); f.add(p); // set the size of frame f.setSize( 300 , 300 ); f.show(); } // if the button is pressed public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if (s.equals("submit")) { // set the text of the label to the text of the field l.setText(jt.getText() + ", "); l1.setText(jt.getLineCount() + " lines"); } else if (s.equals("bold")) { // set bold font Font f = new Font("Serif", Font.BOLD, 15 ); jt.setFont(f); } else if (s.equals("italic")) { // set italic font Font f = new Font("Serif", Font.ITALIC, 15 ); jt.setFont(f); } else if (s.equals("plain")) { // set plain font Font f = new Font("Serif", Font.PLAIN, 15 ); jt.setFont(f); } } } |
Output :
Note : The following program might not run in an online compiler please use an offline IDE