如果要输入多行文本,则可以使用JTextArea实现多行文本的输入。
package com.beyole.util; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextArea; public class test19 { public static void main(String[] args) { JFrame frame = new JFrame("Crystal");// 定义窗体对象 JTextArea area = new JTextArea(3, 10);// 构造一个文本域 JLabel label = new JLabel("构造文本域:"); label.setBounds(10, 10, 120, 20); area.setBounds(130, 10, 150, 100); frame.setLayout(null); frame.add(label); frame.add(area); frame.setSize(300, 150); frame.setLocation(300, 200); frame.setVisible(true); } }
程序截图:
以上只是简单地构造了一个文本域,但是如果一个文本域设置得过大,则肯定会使用滚动条来显示,此时就需要将文本域设置在带滚动条的面板中,使用JScrollPane。
为文本域加入滚动条:
package com.beyole.util; import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class test20 { public static void main(String[] args) { JFrame frame=new JFrame("Crystal");//实例化窗体对象 JTextArea area=new JTextArea(3, 20);//构造一个文本域 area.setLineWrap(true);//如果内容过长,自动换行,在文本域加上滚动条,水平和垂直滚动条始终出现。 JScrollPane pane=new JScrollPane(area, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); JLabel jLabel=new JLabel("多行文本域:"); frame.setLayout(new GridLayout(2, 1)); frame.add(jLabel); frame.add(pane); frame.setSize(300,150); frame.setLocation(300, 200); frame.setVisible(true); } }
程序截图: