在Swing中使用setBounds()的缺点

Lea*_*ner 2 java swing

我想知道setBounds()在Java Swing中使用方法有什么不利吗?我已经硬编码xy坐标值以适应我的17英寸屏幕.假设我的应用程序是在21英寸的屏幕上启动的.屏幕会自动调整还是会扭曲?使用这种方法还有其他缺点吗?

Mad*_*mer 7

使用setBounds有什么缺点

是的,很多.但最重要的是,你提到的那个.

您基本上忽略了Java的UI工具包(布局管理器)中最强大和最有用的API之一.

这些经理负责决定如何最好地在不同的屏幕尺寸和分辨率上代表您的组件,而无需您考虑.

如果您决定不再使用这些布局管理器,那么管理它就成了您的责任,我不了解您,我已经做了足够多的工作.

另一个问题是更新您的屏幕.当您想要添加新标签时会发生什么.您需要仔细检查所有代码,并确定需要移动的其他所有内容以适应它,包括在没有足够空间时要执行的操作.

甚至不让我开始FontMetrics:P

  • @suraj你不能使用`setBounds`.尝试使用一个好的`LayoutManager` - [MiGLayout](http://www.miglayout.com)很受欢迎. (3认同)