我有多个文本字段,我需要使用Java Swing一次启用或禁用。 这可能吗?是否可以在Java Swing中同时启用所有文本字段?
2
A
回答
2
如果你把它们都放在一个链表/数组列表中,你可以有一个方法来循环它并启用/禁用。这可能是最简单的方法
6
如果所有JTextFields
都在一个容器中,你可以这样做:
for (Component c : container.getComponents()) {
if (c instanceof JTextField) {
c.setEnabled(false);
}
}
2
这将是难以维持的所有组件的全局列表,并遍历所有引用。假设您需要通知所有文本字段变为启用或禁用,而不会破坏系统的松散耦合性质(我假设您有兴趣保持应用程序的可维护性)。
我的建议是:
- 子类的JTextField
- 开始使用EventBus降低耦合(你可以用任何实现启动,this one是很简单的)
- 在你的JTextField的子类订阅以接收change_state事件
- 使用您自己的JTextField当您希望启用/禁用支持时
- 生成change_state事件从应用程序的任何部分
请注意,会出现(应该是)只有两个相关的请求的功能地方:
- 事件触发(可以是按钮动作听众)
- 事件处理(JTextField的子类)
你不要因为APPLICAT传播事件处理逻辑离子。快乐的编码。
相关问题
- 1. 是否可以选择视图中的所有文本字段?
- 2. 是否有可能在java Swing程序中调用NSIS脚本
- 3. 是否可以在java代码中设置文本字段的背景文本?
- 4. 是否可以在输入时在文本字段中追加文本?
- 5. 是否可以找到文档的所有字段?
- 6. 是否可以在webview中XCTest文本字段?
- 7. ANSI颜色的Java Swing文本字段
- 8. Java Swing文本字段高度
- 9. 是否可以在运行时嵌入字体以用于SWF中的现有动态文本字段实例?
- 10. 在Highcharts中,是否可以在悬停时启用所有标记?
- 11. 是否可以在ExtJS文本字段中居中对齐文本?
- 12. 是否有可能在Swing中有多个文本字段的单个文档监听器
- 13. 是否有可能在java swing应用程序中运行osmdroid
- 14. 验证Swing GUI中的所有字段
- 15. tkinter是否可以在文本字段下拉列表?
- 16. 记录是否可以有空字段?
- 17. 是否可以在Java(Swing)中注册多个keylistener事件?
- 18. 是否所有线程都将在java并发编程中同时启动?
- 19. 是否可以在apache启动时启动一个php脚本?
- 20. 是否有可能设置一个JTextField的文本在Swing
- 21. 在java swing中输入文本字段后的自动标签?
- 22. Java - swing在窗体的文本字段中动作
- 23. Java Swing:可以在java swing中使用树型表视图吗?
- 24. 是否可以在Java Embedded环境中运行Java/Swing应用程序?
- 25. 注释是否可以限制java中类字段的字符?
- 26. JMS可以在Java Swing App中使用
- 27. 是否有可能在Java Swing中制作滑动菜单
- 28. 是否可以使用正则表达式在WiX中验证文本字段?
- 29. 是否可以获得具有相同名称的文本框的所有值?
- 30. Java Swing:带有文本字段的表单
是的,这是可能的。您需要编写一个方法来迭代对这些字段的引用(如果它们未明确存储在集合中,则可以筛选其父组件的子表的列表),并调用'setEnabled(false)' – toniedzwiedz
,我只需使用[JLayer](http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html)(对于Java 7)或[JXLayer](http:// java。 net/projects/jxlayer /)用于早期版本的Java。这将允许您基本上绘制一个基于组件的玻璃窗格,您可以用它来“禁用”内容 – MadProgrammer