【发布时间】:2016-09-04 02:58:51
【问题描述】:
我有一个swing GUI 类Foo,在Foo 类的构造函数中,我从数据库中加载了一些值。根据从数据库返回的值,我可以说这个 GUI 是否应该可见。但是,当我在这个 GUI 类的构造函数中说this.setVisible(false); 时,它没有任何作用,因为对象创建没有完成。
如何在用户没有意识到转换(GUI 消失)的情况下完成此任务?
【问题讨论】:
-
在构造函数中加载数据库是个坏主意。调用此
setVisible(false)后,组件在窗口中不可见。 -
setVisible(false) 应该在开始读取数据库之前执行。因此,除非另有证明,否则它是不可见的(基于数据库响应的条件)
-
“改变它的结构并不容易。” - 如果你做这种事情,下一个(可怜的)家伙会更难!
-
我会让构造函数接受
ResultSet。在这种情况下,其他代码已经决定是否构建框架。 -
我想说的是,你应该努力改进代码的结构/质量,即使这意味着你需要做更多的工作。如果产品溺水/淹死......然后重新开始。 (但我怀疑您有些夸大其词。)无论哪种方式,请在 Google 中查找“技术债务”一词。
标签: java swing constructor visibility