在使用java和spring创建的桌面应用程序中,GUI表单被创建为单例bean,因此无论何时显示表单,所有预先输入的值都在那里。有没有比通过java代码清理每个表单域更好的方式来获取新表单?在此先感谢当通过弹簧作为单例bean创建时,清除GUI表单
回答
我重写dispose
方法和super.dispose()
后称为init
方法,在init
方法,在加入开始时以下行:getContentPane().removeAll();
。 它适合我的要求,当我希望数据保留在表单中时,我只隐藏表单,当我想要一个新表单时,我将处理表单并再次显示表单。
你可能迫使新单被实例化这样
public class MyForm {
// The instance
private static MyForm instance = new MyForm();
// Private constructor prevents instantiation from other classes
private MyForm() { }
// Get the singleton
public static MyForm getInstance() { return instance; }
// Force a new instance to be created
public static void resetInstance() {
instance = new MyForm();
}
}
但是,这是不是真的单身的行为了,也许你应该只使用一个新的实例化类。喜欢的东西:
myPanel.removeAll();
myPanel.add(new MyForm());
(构造函数应成为当然的公共)
谢谢,我会尝试你的第二个sugession。 – 2012-03-29 03:06:42
我想我找到了一个更好的解决方案,但不确定它是否是正确的方法。在'init'方法的'super.dispose()'之后,我重写了'dispose'方法并调用'init'方法,在开头添加了以下行:'getContentPane()。removeAll();'。它适用于我的要求,当我希望数据保留在表单中时,我只隐藏表单,并且当我想要一个新表单时,我将表单处理并再次显示表单。如果您发现此方法有任何问题,请发表评论。 – 2012-04-04 05:32:03
我会建议一个简单的替代方法,请使用单=假。如果要保留一些初始化片段,请使用init方法或bean后置处理器。
您能否介绍一下init方法和bean后期处理器的用法? – 2012-03-29 03:28:54
这是在这里回答:http://stackoverflow.com/questions/1088550/spring-how-to-call-a-method-after-bean-initialization-is-complete – questzen 2012-03-29 11:54:42
- 1. 通过JavaScript创建一个弹簧表单,并附加在div
- 2. 为什么不弹簧statemachine工作,当我通过stateMachineFactory创建statemachine?
- 3. 弹簧状态机越来越bean创建例外
- 4. 如何通过PHP清除html表单?
- 5. GUI表单手工创建
- 6. 弹簧批处理表清除
- 7. 通过CLI清除缓存清单
- 8. 创建工作清单
- 9. 务实或通过xml创建x个弹簧批量作业
- 10. Android创建列表清单
- 11. 创建列表清单
- 12. 日志弹簧bean实例化
- 13. 弹簧+线程安全单例
- 14. 将弹簧豆注入非单例类
- 15. UnsatisfiedDependencyException:创建bean时出错(通过BeanNotOfRequiredTypeException)
- 16. 通过弹簧批次删除记录
- 17. 简单的弹簧JPA的servlet实例,crudrepository实例为null
- 18. 弹簧启动生成错误创建名为'entityManagerFactory'的bean时出错Error
- 19. 力弹簧,以创建一个新的单例bean来代替损坏的一个
- 20. 用弹簧创建通用控制器
- 21. Spring简单示例:在JavaConfig中创建bean的列表?
- 22. 通过单击按钮创建表格
- 23. 在非gui线程上创建表单
- 24. IntelliJ IDEA无法创建GUI表单
- 25. 弹簧安全2.0.7和弹簧2.5的登录表单问题
- 26. 弹簧mvc表单处理不使用弹簧标签
- 27. Django的通用户实例表单时创建窗体
- 28. 弹簧注入Bean属性为空
- 29. 在弹簧安全中创建一个会话范围的bean
- 30. 作为单例的Javascript弹出窗口
在GUI应用程序中使用单例bean是否常见?而且,使用springframework来创建GUI应用程序常见吗?这对我来说似乎有点令人惊讶,因为GUI和spring似乎不太合适。但也许你想要的是使用原型范围bean而不是默认的单例作用域。 – Kevin 2012-03-22 15:25:41
是否有原因为此表单对象选择了单例作用域? – 2012-03-22 15:29:50
这是我必须使用的一个半途开发的应用程序。有没有更好的实现方法? – 2012-03-26 13:44:03