给 JTextArea 加滚动条
2016-07-27 17:27
447 查看
首先,把JTextArea 放到 JScrollPane里
JTextArea textArea = new JTextArea(); textArea.setText("aaa"); JScrollPane scrollPane = new JScrollPane(textArea);
接下来JScrollPane的对象往哪放,怎么放,是有讲究的
问题:JFrame 与 JPanel 是有区别的
往JFrame里添加控件时,JFrame.getContentPane().add(),此时添加button、textArea这样的控件是没问题的,但是不能添加JPanel类型的对象,所以JFrame不能直接添加JScrlllPane对象。JPanel.add() 既可以添加button、textArea这样的控件,又可以添加JPanel对象。解决方法
通过JFrame.setContentPane()方法把JFrame的contentPane设为JPanel,即JFrame.setContentPane(new JPanel()),这样,JFrame.getContentPane().add()就可以跟JPanel一样,想添加什么就添加什么。完整代码示例:
import javax.swing.*; public class ScrollTest extends JFrame { private JButton button; private JTextArea textArea; private JFrame frame; public static void main(String[] args) { ScrollTest inst = new ScrollTest(); JFrame frame1 = inst.getFrame(); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame1.setVisible(true); inst.textArea.setText("中华人民共和国\n唐宋元明清\n"); } private JFrame getFrame() { if(frame == null) { frame = new JFrame(); frame.setSize(1000, 800); frame.setContentPane(new JPanel()); //没有这句,下面.add(getScrollPane)将显示不出来 //frame.setLayout(null); frame.getContentPane().setLayout(null); frame.getContentPane().add(getButton()); frame.getContentPane().add(getScrollPane()); } return frame; } private JScrollPane getScrollPane() { if(textArea == null) { textArea = new JTextArea(); textArea.setText("affsdgggdsgds"); } JScrollPane scrollPane = new JScrollPane(textArea); scrollPane.setBounds(50,250,200,100); return scrollPane; } private JButton getButton() { if(button == null) { button = new JButton(); button.setText("testButton"); button.setBounds(10,10, 200, 30); } return button; } }
相关文章推荐
- map集合
- Struts2上传文件及相关总结
- MIME多用途互联网邮件扩展类型
- 归并排序算法
- 如何去掉ListView/GridView等列表控件滑到顶部或底部时的模糊边缘效果
- 【POJ】2299 - Ultra-QuickSort(离散化 & (树状数组 | 线段树))
- web集群时session同步的3种方法
- windows和linux文件路径斜杠
- AES与RSA相结合数据加密方案
- DFS专题
- 第二天
- 不依赖于第三方库的日期时间选择器插件--Rome
- MySQL复制表结构和内容到另一张表中的SQL语句
- solrcloud——zookeper集群
- 开启nginx状态监控
- AF_Error_Message
- 应用程序和驱动程序调用自己定义的函数
- Activity的缓存方法
- HDU 2717 Catch That Cow【BFS】
- 脚本编写