2012-08-05 72 views
2

是否有方法可以清除Swing组件的值。例如,如果我们每次需要清除JTextField时都必须致电 - txtField.setText("")。我曾经为这些类型的案例提供了实用方法 - 我想知道在Swing API中是否有更好的方法。或者是否有办法刷新JPanel中的所有值。清除Swing组件值

回答

3

有两种方式

  1. 没有错的方式,但我建议测试if (c instanceof JTextField) {,那么你可以re_set针对不同JComponents(differen太)值(或他们的小组)在一个环

  2. 放所需JComponents到某种类型的arraymap

  3. 通知删除(如果有)Document或全部JTextComponentDocumentListener thenafter值re_seted之前,循环结束后,再加入科目编号听者回JTextComponent,避免射击事件recrusive ...

2

不,这是正确的方法,我没有看到以这种方式清除它们的缺点。

我正在考虑的唯一替代方法就是通过实例化新的UI组件并重新布局它们来重新创建GUI,但它似乎矫枉过正,并且还会使您失去对旧组件的所有引用。