一例 Java Swing GridLayout 的界面布局排列问题

发布时间 2023-06-13 06:08:02作者: 物华天宝之藏

在某平台出售 Java 答疑服务,本着以前一直免费解答的前提,单次售价20几元,有人咨询 swing 的 GridLayout 行列排列的问题。

从 w3cschool 官网查看 GridLayout 方法的说明,该方法可以带2个或4个参数。带2个参数如下所示,

GridLayout(row,col)

参数值的情况分为3种:
1)两个参数都为零,不被允许,方法抛出异常。
2)其中一个参数为0时,表示该参数不限量,先满足另一个参数所设置的数目。

GridLayout(0,3)

比如 8 个 JButton 布局到该界面,会有3行,其中前2行都有3列 JButton,第3行只有左边两列有 JButton。

3)两个参数都不为零,

GridLayout(4,3)

比如 8 个 JButton 布局到该界面,会有4行,每行都只有2列,这是为什么呢?要理解此布局逻辑,需要查看 GridLayout 的源码,看其如何处理对象和布局设置。

网络搜索查找 Java 源代码,Oracle 官网有 Java 源代码压缩包,找一份 jdk8 的源码下载后,查找swing 源码,找到 GridLayout 方法所在的文件。
方法不多,可以将 GridLayout(4,3) 和 8 个 JButton 代入到方法中查看它的计算过程。具体的方法名我忘记了,因为下载的文件不在手边,仅介绍解决问题的思路。

此次交易没有达成。我有一些考虑:
1)该学生为什么不问老师?因为网上问答跨时几天。
2)售价20几元,不是200多,可以说交易风险极低,但该学生只问不付款,而且用语也看不出对 Java 的喜爱和尊师重教的态度。
3)深度研究需要有较好的英语程度,也有较好的学习兴趣,该学生提出的数量问题让我看到其有较好的钻研态度,但很多基础的排查方法都没有掌握,对有些程度的学生,学太多会比较困扰,让我难以确定是否可以继续引导研究。
4)实际生产,swing 用得不多,也让我斟酌是否有必要引导其深入研究源代码,但我没有找到机会告知该学生。

交流沟通的能力和态度很重要,不仅是对这位咨询者而言,我自己也有反思服务的方式。

我期望的服务对象有生产问题的用户,被生活所迫转码的大龄青年,或有真正愿学而且态度好的学生。普通出钱买作业的学生应当被过滤掉,现在的市场情况下专业素质的养成可堪忧虑。

总而言之,网上编程答疑,如果真正想学好,态度好,可以收获很多,毕竟能出售20几元,价位已经很低,经济有困难可以免单。

港剧中常有律师咨询费按小时计费过千,大龄失业下岗程序员什么时候咨询服务能按小时收费上百?毕竟比辅导中小学生作业需要更多的积累。