2

我正在尝试开发一个执行以下操作的 Java 程序:

  • 使用客户端网络图的背景图片
  • 将带宽图的图像定位到相应的客户端
  • 每 5 秒刷新一次图形图像,它从另一个不断生成带宽快照的程序中获取

现在,我可以设置背景图片,并且我非常有信心可以使用计时器刷新图像。我要计划的是如何将这些图像定位到背景图片中显示的各个客户端。我做了一些研究,似乎我有几个选择,但我想确保在我遇到问题之前选择正确的一个。

在我看来,使用 GridBagLayout 将是我的选择,但是我想为更有经验的人群提供第二意见。如果使用 GridBagLayout 是正确的选择,你能推荐任何可以帮助我理解这个布局管理器的好教程吗?请记住,我在 Java 方面的经验有限,尤其是在面向 GUI 的 Java 方面。

编辑:如果我没有很好地解释这个概念,请告诉我。

4

3 回答 3

2

看看这个 - http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

GridLayout 很可能满足您的需求并且易于使用 - 我所做的假设是带宽图的图像是相同/固定的......

在此处查找示例 http://www.roseindia.net/tutorialsearch/?t=java+gridlayout+color

尝试谷歌关键字“GridLayout” - 有很多点击...

于 2012-08-03T00:33:21.573 回答
1

如果你想做高级布局,你应该看看MigLayout

这是一个非常灵活的布局管理器,几乎可以替代任何/所有现有的 Swing 布局管理器。如果您想做困难/复杂的布局,则值得使用。

它感觉更像是一个 HTML 表格布局工具,支持多列跨度等和任意缩放规则。

快速入门指南”非常好,有很多示例 - 如果您想为您的项目评估 MigLayout,我建议您看一下。

于 2012-08-03T01:45:32.303 回答
1

如果“带宽图”图像位于 BG 图像之上,请查看OverlayLayout

一个布局管理器,用于将组件排列在彼此的顶部。..

OTOH 我不会为此使用布局策略,而是..

  1. 创建一个BufferedImage大小的 BG。
  2. 将 BG 绘制到图像上。
  3. 在标签中显示图像。
  4. 当需要绘制图形时,Graphics在标签中获取图像的实例,然后将它们绘制到该实例上。如果图形总是相同的大小和形状并且没有透明度,您可以简单地绘制它们。否则先画BG。
于 2012-08-03T02:12:26.597 回答