[引言]
我们在学习Java编程的时候,如果需要开发客户端窗体类型的程序,可以使用JDK中的awt和swing库。本文开始小博老师就继续为大家演示Java窗体编程中的各类控件,今天主要讲解的是文本域和滚轴控件的配合使用。
[步骤阅读一]文本域控件JTextArea
文本域控件也是Java窗体中非常常见的文本类型控件,它和文本框控件的区别在于,可以让用户输入多行的文本信息,对于信息内容较大的场景,比较适合使用。我们首先简单了解下文本域控件的使用,核心代码如下:
publicclassControllerFrameextendsJFrame{
publicControllerFrame(){
super("博为峰教育");
setBounds(200, 100, 300, 300);
setLayout(null);
// 文本域控件
JTextAreatxt=newJTextArea();
txt.setBounds(5, 5, 250, 250);
add(txt);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
我们实例化窗体,运行程序看到的结果:
[步骤阅读二]默认情况下文本域控件的问题
现在我们可以在文本域控件中输入多行的文本信息,但是就目前而言,会存在一个比较严重的问题,当我们输入的内容超过了文本域控件的宽度和高度时,溢出部分的内容是不可见的。
[步骤阅读三]利用滚动面板解决内容溢出问题
为了解决这个问题,我们可以利用Java窗体中的滚动面板JScrollPane来配合文本域控件,当我们输入的内容溢出后,会自动出现水平和垂直方向的滚动轴提供用户拖拉,核心代码如下:
publicclassControllerFrameextendsJFrame{
publicControllerFrame(){
super("博为峰教育");
setBounds(200, 100, 300, 300);
setLayout(null);
// 实例化 文本域控件
JTextAreatxt=newJTextArea();
// 使用 文本域控件 实例化 滚动面板
JScrollPanescroll=newJScrollPane(txt);
scroll.setBounds(5, 5, 250, 250);
add(scroll);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
我们实例化窗体,运行程序看到的结果:
当然,我们也可以选择设置文本框控件水平溢出的内容自动换行,只需增加设置:
// 设置 文本域控件 水平溢出内容是否自动换行 true | false
txt.setLineWrap(true);