我有多个文本字段,我需要使用Java Swing一次启用或禁用。 这可能吗?
答案 0 :(得分:6)
如果所有JTextFields
都在一个容器上,您可以执行以下操作:
for (Component c : container.getComponents()) {
if (c instanceof JTextField) {
c.setEnabled(false);
}
}
答案 1 :(得分:2)
如果你把它们全部放在一个链表/数组列表中,你可以有一个方法来循环它并启用/禁用。这可能是最简单的方法
答案 2 :(得分:2)
很难维护所有组件的全局列表并迭代所有引用。假设您需要通知所有文本字段以启用或禁用,而不会破坏系统的松散耦合性质(我假设您有兴趣保持应用程序的可维护性。)
我的建议是:
请注意,将会(应该)只有两个与所请求功能相关的地方:
不要在您的应用程序上传播事件处理逻辑。快乐的编码。