问题背景
本次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);
最终效果如下