- 背景
由于功能界面相同,计划改写程序,生成一个父类GUI,然后直接用两个子类GUI,通过继承父类GUI的基本界面完成功能。
但是改写后,发现父类GUI无法正常显示,i.e. 只有Frame的背景,所有控件消失。而单独提出initGUI()在别的project中进行测试则正常。
- 问题所在
不可以用基本的getter, setter提取GUI控件!!!!!
不可以用基本的getter, setter提取GUI控件!!!!!
不可以用基本的getter, setter提取GUI控件!!!!!
写三遍体现我改代码时的愤怒:(
具体原理暂不明白,但如果使用setter,getter对控件进行设定和提取就会使得界面无法正常显示
哪怕写了函数定义,但未使用setter,getter也会无法正常显示
那子类要对父类里的GUI控件进行修改操作怎么办?
- 解法
将父类中的GUI变量设置为protected, then 直接使用即可