Java写记事本:文本超出范围时实现滚动条功能

问题背景

本次Java课程的作业是做一个记事本,能够实现记事本的基本功能,如图所示
基本页面展示

问题描述

想要实现内容超出文本框范围时,自动添加垂直滚动条和横向自适应。
添加了JScrollPane scrollPane=new JScrollPane(textArea);之后,整个界面直接无法输入内容。

问题分析

因为没有将滚动控件添加Container容器,所以一旦加入了JScrollPane scrollPane=new JScrollPane(textArea);就会导致页面直接不能输入内容

问题解决

修改代码如下

frame=new JFrame("记事本");
		Container container=frame.getContentPane();
		frame.setSize(700,600);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		frame.setLayout(new BorderLayout());
		toolBar=new JToolBar();
		frame.add(toolBar,BorderLayout.NORTH);
		textArea=new JTextArea();
		textArea.setFont(new Font("宋体",Font.PLAIN,20));
		textArea.setForeground(Color.blue);
		frame.add(textArea,BorderLayout.CENTER);
		textArea.setLineWrap(true);//自动到达指定宽度换行
		
		JScrollPane scrollPane=new JScrollPane(textArea);
		container.add(scrollPane);

最终效果如下
在这里插入图片描述

参考文档

感谢@_西西_博主的文章

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值