首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我的组件的preferredSize比Integer.MAX_VALUE高呢?

如果我的组件的preferredSize比Integer.MAX_VALUE高呢?
EN

Stack Overflow用户
提问于 2013-11-23 16:33:46
回答 1查看 61关注 0票数 1

我写了一个巫术观众。

然而,我发现挥杆有一个限制。如果您有一个3GB文件,并且每行呈现20个像素,则组件的总高度为:

(每行3GB/ 16字节)*每行20像素= 3.75GB

此时,Swing无法呈现任何内容,因为值溢出了Integer.MAX_VALUE

到目前为止,这是我最好的主意:

  • 克隆足够多的Java2D和JComponent,以替代在长坐标下进行渲染的JComponent。
  • 克隆JViewport,这样就可以呈现组件/的视图
  • 像通常情况下一样,将替代的JViewport放入JScrollPane中。

这似乎是很多工作,但这样的组件可能对大图或大文本文档之类的东西很有用。

我考虑过只分页,但是当您使用Find特性并且它与跨越页面边界的文本匹配时,似乎会很尴尬。

我通常使用的(非Java)十六进制查看器(十六进制)也不使用分页。它只是滚动整个文档的高度,好像它不是一个问题。

有谁知道避开这类事情的好方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-24 07:42:31

您不需要在长坐标中绘制您的十六进制查看器,因为您只需要绘制文件中想要在当前可见的部分。JScrollPane是一个非常有用的工具,可以在大型组件中滚动,但您不需要它。如果您想滚动太多的东西,以至于有一个足够大的组件来容纳它是很麻烦的,那么您可以通过创建一个JScrollBar并根据滚动条的位置绘制组件来进行滚动。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20164842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档