JTextArea自动换行以及设置滚动条
应将JTextArea置于JScrollPanel中
若要使只有垂直滚动条而没有水平滚动条,使用JTextArea.setLineWrap(true),自动换行。
文本换行代码片段如下:
JTextArea adressTextArea = new JTextArea(11, 35);
//设置自动换行
adressTextArea.setLineWrap(true);
//定义带滚动条的panel,并将JTextArea存入到panel中,使textarea具有滚动条显示功能。
JScrollPane scrollpane = new JScrollPane(adressTextArea);
//取消显示水平滚动条
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
//显示垂直滚动条
scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); 以下为个人测试画的一个简单页面,仅供参考:
package JFrameTest;
import java.awt.BorderLayout;
@SuppressWarnings("all")
public class ApplyCertTest extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ApplyCertTest frame = new ApplyCertTest();
frame.setVisible(true);
frame.setTitle("申请新许可");
frame.getContentPane().setLayout(null);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ApplyCertTest() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//setResizable决定了窗体是否可以放大。true则可以最大化,false则不可变
setResizable(false);
setBounds(100, 100, 510, 520);
contentPane = new JPanel();
contentPane.setLayout(new FlowLayout(FlowLayout.LEFT));
getContentPane().add(contentPane, BorderLayout.NORTH);
JLabel lblNewLabel = new JLabel(" 生成新的许可需填写下列信息:");
lblNewLabel.setLabelFor(contentPane);
contentPane.add(lblNewLabel);
JPanel lPanel = new JPanel();
lPanel.setBorder (BorderFactory.createTitledBorder ("申请文件信息"));
lPanel.setLayout(new BorderLayout(5, 0));
getContentPane().add(lPanel);
//用户名称
JPanel mlPanel = new JPanel();
mlPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel userName = new JLabel("用户名称: ");
mlPanel.add(userName);
JTextField userTextField = new JTextField(35);
mlPanel.add(userTextField);
//公司名称
mlPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel companyName = new JLabel("公司名称: ");
mlPanel.add(companyName);
JTextField companyTextField = new JTextField(35);
mlPanel.add(companyTextField);
lPanel.add(mlPanel);
//电话号码
mlPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel phone = new JLabel("电话号码: ");
mlPanel.add(phone);
JTextField phoneTextField = new JTextField(35);
mlPanel.add(phoneTextField);
lPanel.add(mlPanel);
//电子邮件
mlPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel email = new JLabel("电子邮件: ");
mlPanel.add(email);
JTextField emailTextField = new JTextField(35);
mlPanel.add(emailTextField);
lPanel.add(mlPanel);
//联系地址
mlPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel adress = new JLabel("联系地址: ");
mlPanel.add(adress);
//JTextField adressTextField = new JTextField(35);
JTextArea adressTextArea = new JTextArea(11, 35);
//设置自动换行
adressTextArea.setLineWrap(true);
//定义带滚动条的panel,并将JTextArea存入到panel中,使textarea具有滚动条显示功能。
JScrollPane scrollpane = new JScrollPane(adressTextArea);
//取消显示水平滚动条
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
//显示垂直滚动条
scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
mlPanel.add(scrollpane);
lPanel.add(mlPanel);
//适用IP
mlPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel ipLabel = new JLabel("适用IP: ");
mlPanel.add(ipLabel);
JTextField ipTextField = new JTextField(35);
mlPanel.add(ipTextField);
lPanel.add(mlPanel);
//适用mac地址
mlPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel macLabel = new JLabel("适用mac地址:");
mlPanel.add(macLabel);
JTextField macTextField = new JTextField(35);
mlPanel.add(macTextField);
lPanel.add(mlPanel);
//使用时限(天)
mlPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel dayLimit = new JLabel("使用时限(天): ");
mlPanel.add(dayLimit);
JTextField dayLimitTextField = new JTextField(35);
mlPanel.add(dayLimitTextField);
lPanel.add(mlPanel);
JPanel bPanel = new JPanel();
bPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
JButton saveButton = new JButton("保存");
JButton resetButton = new JButton("重置");
JButton quitButton = new JButton("退出");
bPanel.add(saveButton);
bPanel.add(resetButton);
bPanel.add(quitButton);
getContentPane().add(bPanel, BorderLayout.SOUTH);
}
}
JTextArea自动换行以及设置滚动条的更多相关文章
- MFC对话框程序EDIT类控件的自动换行,垂直滚动条自动下移
1.新建一个Edit Control,将其Multiline属性设置为True,Auto HScroll属性设置False,这样就可以实现每一行填满后自动换行了. 2.再将Vetrical Scr ...
- 【转】MFC编辑框自动换行,垂直滚动条自动下移
1.新建一个编辑框控件(Edit Control),将其多行(Multiline)前面打勾(属性设置为True),Auto HScroll前面的勾去掉(属性设置False),这样就可以实现每一行填满后 ...
- 【Visual Studio】MFC编辑框自动换行,垂直滚动条自动下移(转)
原文转自 http://blog.csdn.net/wu_lai_314/article/details/8317395 1.新建一个编辑框控件(Edit Control),将其多行(Multilin ...
- webkit浏览器css设置滚动条
主要有下面7个属性: ::-webkit-scrollbar 滚动条整体部分,可以设置宽度啥的 ::-webkit-scrollbar-button 滚动条两端的按钮 ::-webkit-scroll ...
- CSS设置滚动条样式
因为在现在的大部分项目中很多都用到了滚动条,有时候用到模拟的滚动条,现在说下滚动条的CSS也能解决. 比如网易邮箱的滚动条样子很好看,就是利用的CSS来设置的,而且是webkit浏览器的.如图所示: ...
- css设置滚动条颜色与样式以及如何去掉与隐藏滚动条
我们大家在浏览网页的时偶尔会看到很漂亮的各种颜色样式的滚动条,这就是通过css代码控制来实现的,于是本人搜集整理一番,这里和大家分享一下使用CSS设置滚动条颜色以及如何去掉滚动条的方法,需要的朋友可以 ...
- CSS设置滚动条样式[转]
原文转载地址:http://www.javascript100.com/?p=756 webkit浏览器css设置滚动条 主要有下面7个属性 ::-webkit-scrollbar 滚动条整体部分,可 ...
- 转载自前端开发:CSS设置滚动条样式
浏览器默认的滚动条样子太过屌丝了,得自己动手整整.记得IE浏览器有几个设置滚条的样式,不过比较鸡肋,只能设置颜色之类的,而且webkit下面也不支持.无意间看到网易邮箱的滚动条样子很好看,一开始以为是 ...
- easyui combobox 设置滚动条
设置滚动条: 1 panelHeight:200 :设置固定的高度. 2 panelHeight:'auto', panelMaxHeight:200. <input class=" ...
随机推荐
- kali linux /etc/apt/source.list
this list is very important , you can not download what you want like fictx , flash-plugin , vm-tool ...
- H5 视频
HTML 5 视频 HTML5 简介 HTML5 视频/DOM 许多时髦的网站都提供视频.HTML5 提供了展示视频的标准. 检测您的浏览器是否支持 HTML5 视频: Yes! Full suppo ...
- RabbitMQ-从基础到实战(3)— 消息的交换
1.简介 在前面的例子中,每个消息都只对应一个消费者,即使有多个消费者在线,也只会有一个消费者接收并处理一条消息,这是消息中间件的一种常用方式.还有另外一种方式,生产者生产一条消息,广播给所有的消费者 ...
- Windows定时计划执行Python
先看下定时执行的py文件 #coding:gbk from selenium import webdriver import time,os driver = webdriver.PhantomJS( ...
- ps-色彩饱和度的设计
1- 图层区—复制背景图层 防止原图修改失败后无法还原 2- 选项区——选择—色彩范围 以色彩为标准来对图片进行选区 3- 点击图片上 ...
- WebSocket数据包协议详解
其实我一直想不明白HTML5包装个应用层办议作为Socket通过基础目的是为了什么,其实直接支持Socket tcp相对来说更加简单灵活.既然标准已经制定而浏览器也支持那对于我们开发者来说只能用的分. ...
- Ef+T4模板实现代码快速生成器
转载请注明地址:http://www.cnblogs.com/cainiaodage/p/4953601.html 效果如图,demo(点击demo可下载案例) 项目结构如图 T4BLL添加BLL.t ...
- calendar.js(日历组件封装)
最近一直闲来无事,便寻思着做一下自己的个人项目,也想说能使用现在比较流行的一些mvvm框架来做,于是就选用了这样的一个技术栈vue2.0+vue-router+vuex+webpack来做,做得也是多 ...
- UT源代码123
(3)设计佣金问题的程序 commission方法是用来计算销售佣金的需求,手机配件的销售商,手机配件有耳机(headphone).手机壳(Mobile phone shell).手机贴膜(Cellp ...
- require include 一个隐藏的用法:作用域。
最近在研究php底层框架,奇怪的一点.控制器里为什么要把从model里获取的数据 需要$this->assign('items', $items); 这种形式模板文件里才可以调用到这个变量.控制 ...