【问题标题】:...Java Screen Resolution Changing...Java 屏幕分辨率更改
【发布时间】:2013-04-04 13:53:14
【问题描述】:

我们使用 Java Swings 开发了一个巨大的应用程序,这在所有系统上都很好执行和运行,但问题是分辨率,如果分辨率是 1260/768,它运行良好意味着包括滚动条在内的所有组件都将可见,即使应用程序将适合屏幕的宽度和高度,但是当它低于 1280/768 时它不适合屏幕,我所做的是手动将系统分辨率更改为 1280/768 并编写程序来更改分辨率,但问题是大多数系统不支持超过 1024/768,在旧系统上其最大 VGA Cards-1024/768。

解决这个问题的方法是什么?要更改哪个布局管理器?

更新 我们的应用程序将在接下来的 5 天内上线,所以需要更快的东西,尝试使用 FlowLayout,但它不会是好的 UI。

或者如何在最大化或最小化时调整组件的大小?是如何实现的?

【问题讨论】:

  • 你可以试试FlowLayout 吗?
  • 一般来说,如果你设计 UI 组件的方式是调整应用程序窗口的大小,让组件以一种有用的方式增长和缩小,那么在不同的分辨率下你不会有这样的基本问题。这应该是 UI 设计模式的一部分。决定更改哪个布局管理器或更新哪些组件属性是非常特定于实现的,所以我怀疑是否有一个令人满意的一般答案。如果您发布示例,我们可能会就修改内容和方式提出建议。
  • 好的,让我放一部分代码
  • 代码庞大而复杂,但我可以解释一下,它的 TabbedPanel 和每个选项卡式面板都设置了 GroupLayout 和 JScrollpane,所以有时它会移出我的屏幕/系统:)
  • 在接下来的 5 天内上线,所以你必须快速了解所有关于布局/管理器的知识 :-) 你需要一个易于学习的管理器/use 并同时强大到足以满足您的需求,我目前的首选是 MigLayout。或者,聘请一位为您工作的顾问。

标签: java swing


【解决方案1】:

答案基本上取决于您的 GUI 是如何设计的。

在某些情况下,FlowLayout 将允许组件环绕。

JScrollPane 可以在部分周围添加包装器以使它们独立滚动。按照这种思路,可以将整个当前 GUI 放置在 JScrollPane 中,并设置为永远不会小于 1280x768,这样滚动条就会出现在较小的显示器上。

JTabbedPanel 也可用于堆叠不常用的 GUI 部分。

【讨论】:

  • 对于大型应用程序流布局将排列组件并将它们向下移动..这显然是不好的
  • 是的,这不是最重要的建议。 JScrollPane 几乎可以肯定是您想要的。几本关于 UIX 的书也无济于事。
【解决方案2】:

较小的分辨率可以使用更小,尤其是更窄的字体。将硬坐标替换成比例坐标是一项艰巨的任务;类似Scale.x(80)。但这是一个“愚蠢”的可靠解决方案。 如果您仍然可以使用较小的字体(Arial Narrow?)。

请注意,较小的分辨率通常显示在相同物理尺寸的显示器上。或者对于今天的平板电脑来说,体积很小是可以接受的。

【讨论】:

    猜你喜欢
    • 2012-03-04
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    相关资源
    最近更新 更多