Cri*_*zly 5 java user-interface coding-style
当我第一次开始学习java GUI(swing)编程时,我所展示的方式更像是一个MVC模型,它涉及使用接口调用事物并跨类传递变量.
我最近开始以更静态的方式编程,让Jframe调用它的静态Jpanel并使用静态方法来更改组件.基本上我是静态编程所以我可以轻松地从不同的类中调用它们.
下面是一个例子:
我的主要JFrame类叫做"Home",我静态地初始化了Toolbar类:
private static Toolbar toolbar = new Toolbar();
Run Code Online (Sandbox Code Playgroud)
现在每当我想做某事时,例如改变颜色,我只是从另一个类调用:
Home.toolbar.setForeground(Color.green);
Run Code Online (Sandbox Code Playgroud)
这是一种好的编程方式吗?到目前为止,我还没有遇到任何麻烦,但是当我从中学到的人并没有这么做时,我感到很困惑.
这种编程方式有任何重大缺陷吗?有哪些替代方案?
基本上,你应该问自己:
“应该toolbar与我创建的每个对象相关联?还是应该与所有对象相关联,一旦我更改它,它就会针对所有对象更改?”
如果你自己回答“是”,那就可以,否则就不应该static。
当然,除此之外还有很多事情需要考虑。例如,static资源不是线程安全的。