JScollPane以及JPanel相关

最近就遇到一个问题:

因为要在一个jpanel里面显示一幅图片,但是图片的实际大小,我们知道是不相同的.当然有一种方式可以解决完全显示的问题.那就是利用画图函数强制指定区域大小.

但是,明显,当我们需要实际显示图片大小时,上述方法就不适用了.

JPanel是一个比较特殊的组件,当我们把他添加到一个container里面后,它会自动调整显示大小,以配合container的大小,所以如果图片大大小超过container的大小,那么在jpanel中显示的始终只是可见的那部分,而不会是像预测的那样出现滚动条..

因此,解决问题的关键就到了,如何改变jpanel的大小.这里要指出,setBounds等函数是徒劳的.

下面给出一个完整片段:

JScrollPane jp=new

JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);

jp.setViewportView(iPanel);

以上两句是创建一个滚动窗口,并把一个panel加入其中并始终显示横竖滚动条.

下一步,就是调整panel的大小,以使滚动条真正的能工作起来.

iPanel.setPreferredSize(new

Dimension(3000,2000));

iPanel.revalidate();

最好每次重绘之前,预先设置一下ipanel大小,然后调用revalidate更新.

这样,就容易的实现了滚动屏.对于其他的组件,是不需要上面那些步骤的,原因就是上面提过的那个jpanel会自适应的属性.

java panel的滚动条_JPanel显示滚动条相关推荐

  1. 给div加滚动条 div显示滚动条设置代码

    今天做了个例子:  div 的滚动条问题:  两种方法 :  一. 复制代码 代码如下: <div style=" overflow:scroll; width:400px; heig ...

  2. css 默认显示滚动条,css控制默认滚动条样式

    针对webkit内核的浏览器,使用伪类来改变滚动条的默认样式,详情如下: 滚动条组成部分 1. ::-webkit-scrollbar 滚动条整体部分 2. ::-webkit-scrollbar-t ...

  3. CSS超出部分隐藏,显示滚动条

    实现功能: 固定一个高度,超出该高度的部分就隐藏,并且显示滚动条能上拉下滑滚动 实现代码: height: 500rpx; overflow-x: hidden; overflow-y: scroll ...

  4. 如何让Table显示滚动条

    Table显示滚动条,要先把table放到一个div中,div的长度和宽度要固定,控制overflow属性为scroll <div style="width:700px; height ...

  5. html div 隐藏滚动条样式,div滚动条样式隐藏与显示

    DIV滚动条样式是可以设置的,CSS滚动条同样也可以显示与隐藏,对div设置滚动条,设置其横向滚动条和纵向滚动条样式应该怎么做呢? 要设置CSS滚动条样式,需要用到overflow-y和overflo ...

  6. html页面不显示横向滚动条,css横向滚动条不显示?

    在html页面开发时,我们经常会使用到css来设置页面的样式,当页面出现横向滚动条时,用css怎么将其清除掉?下面我们来看一下css设置横向滚动条不显示的方法. css可以通过为元素添加overflo ...

  7. 解决DataGridView在多线程中无法显示滚动条的问题

    解决DataGridView在多线程中无法显示滚动条的问题 参考文章: (1)解决DataGridView在多线程中无法显示滚动条的问题 (2)https://www.cnblogs.com/roph ...

  8. PyQt5 技术篇-scrollArea不显示滚动条解决方法,Qt Designer不显示滚动条,滚动条的显示和隐藏

    首先给大家展示一下,必显示滚动条的方法. PyQt5设置方法: self.scrollArea.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwa ...

  9. 【转】如何调整一个 IFrame 到其内容的大小不显示滚动条[微软帮助]

    概要 在某些情况下, 您可能希望调整一个 IFrame 以便看到, 但没有滚动条都显示在网页上所有文档内容 本文介绍如何执行此. 更多信息 确定大小的 IFrame 的内容, 必须访问基础 IFram ...

最新文章

  1. Kubecon 2017大会Google高级产品经理David Aronchick访谈:机器学习和Kubernetes
  2. 超图三维GIS在线示例
  3. java线程之InheritableThreadLocal
  4. MSMQ消息队列线程使用
  5. centos7.2如何升级到centos7.3最新版本
  6. Carrot2 in action 初步印象
  7. BXP无盘WINXP优化精华篇(转)
  8. IDEA导入本地项目
  9. [转] 串、并行加法器
  10. 你的简历能帮你争取到面试机会吗?
  11. 萤石 python获取直播地址和画面
  12. C++Primer 第8章IO流
  13. SpringBoot测试类不需要加@RunWith?
  14. 批量将word转换成excel格式的方法
  15. Spark与大数据处理技术实践
  16. 标准日本语初级 语法整理
  17. 什么是ARPU与ARPPU ?
  18. matlab怎么测脉络膜血管密度,【CCOS2016】OCT血管成像的发展之路
  19. mac办公软件里值得推荐给大家的好软件
  20. git 拉取远程分支到本地的简便方法

热门文章

  1. frp实现Windows家庭版P2P远程桌面
  2. 【论文理解】On Episodes, Prototypical Networks, and Few-shot Learning
  3. Flink broadcast的用法
  4. 姐姐告诉我提眉的危害是什么,提眉术后多久可以恢复,纳尼,头大了
  5. java1000以内的阶乘_[无聊]做一下1000的阶乘
  6. Require使用方法详细讲解
  7. 计算机自动关机原理,电脑自动关机怎么解决?电脑自动关机维修教程
  8. Refreshing xxx Gradle Project 问题
  9. 简易爬虫--50行代码获取英雄联盟全英雄皮肤
  10. 学习-Java字符串之正则表达式之元字符之判断字符串是否符合规则