在Java Swing中定位标签

时间:2014-11-29 23:24:54

标签: java swing microcontroller msp430

我已经阅读了很多关于Java Swing布局的教程,但它们似乎不足以满足我的需求。我正在使用Java Swing创建一个太阳能系统GUI,我想根据我从微控制器获取的值将行星放置在GUI中,这些值通常是浮点值。我不能使用Grid Bag Layout,因为我需要指定一个标签,我必须指定网格x和网格y,这不是这种情况,因为我从微控制器接收浮点值。我找到的最好的资源是使用绝对布局,我可以通过给出X和Y坐标来指定行星的位置,这些坐标将从微控制器获取。我现在面临的问题是绝对布局没有自动重新调整大小的功能。

在绝对布局中采用自动重新调整大小功能的最佳选择是什么?

1 个答案:

答案 0 :(得分:3)

Swing教程通常不适用于这样的情况 - 它们适用于想要编写更多普通GUI应用程序的人,使用按钮,下拉框,复选框,单选按钮,菜单,并具有以下布局目前在屏幕上定位这些实践的做法。如果其中任何一个适用于你的程序中没有显示行星的部分,我鼓励你使用它们所说的内容。

但是你想根据你自己的计算来放置东西。我建议在面板中执行此操作,根据绘图点面板的大小计算对象的大小和位置。当面板调整大小时,您需要捕获表示正在调整大小和重绘的事件。您需要处理自己的最小值和最大值等。

出于几个原因,我不推荐其他地方建议的自定义布局管理器。首先,它根本不会为你节省任何工作 - 你仍然需要编写确定事物位置的代码,如果你只是绘制自己的图形而不是试图定位UI元素,我认为它实际上会减少工作量。这就是第二个原因 - 布局管理器的目的是将UI元素放置在面板中,而太阳系的各个部分实际上并不需要是UI元素,只需要屏幕上的图形。

祝你好运。