我怀疑这是一个很平凡的问题。 我希望创建一个扩展JTextField的组件MyTextField; 组件应通过更改颜色来响应获得焦点,并根据输入是否有效通过更改为两种颜色之一来响应失去焦点。 怎么办?如何扩展JTextField以生成一个定义的响应focusgain
回答
你可以让你MyTextField
类扩展JTextField
并实现FocusListener
选项#1
public class MyTextField extends JTextField implements FocusListener {
public MyTextField(){
addFocusListener(this);
}
@Override
public void focusGained(FocusEvent event) {
}
@Override
public void focusLost(FocusEvent event) {
}
}
选项#2
public class MyTextField extends JTextField {
public MyTextField(){
addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent arg0) {
}
@Override
public void focusGained(FocusEvent arg0) {
}
});
}
}
不错的概念,但是您可能希望为焦点侦听器使用内部类来防止暴露'focusGained/Lost'方法,因为他们不需要被其他人打电话 - 只是一个想法。 – MadProgrammer 2013-03-07 06:39:16
@MadProgrammer好想法!我相信上面的代码可以很容易地修改,为'addFocusListener'函数提供内部类。 – Apurv 2013-03-07 06:42:04
当然,这个概念的工作;) – MadProgrammer 2013-03-07 06:44:58
- 1. 如何使JTextField扩展一个BorderLayout(Java)
- 2. 生成文件扩展变量内定义每个生成文件的
- 3. 如何扩展一个实体框架6.1.3生成的类?
- 4. 定义一个内联扩展方法
- 5. 如何扩展JOOQ代码生成器?
- 6. 如何当一个自定义对象改变它的扩展
- 7. ExtGWT-GXT,我如何定义一个从BaseModel扩展的类?
- 8. 从Swagger定义生成示例请求和响应定义
- 9. 如何生成扩展定制记录类的Doctrine模型/类
- 10. Ajax如何在生成响应时获得多个响应
- 11. 如何定义一个LINQ扩展方法
- 12. 使用自定义生成器扩展CMake?
- 13. 是否有可能自定义生成的代码生成类扩展自定义特征?
- 14. 如何扩展一个listview?
- 15. 如何扩展一个BufferedImage
- 16. TYPO3扩展:生成PDF
- 17. 扩展EF4 SQL生成
- 18. 扩展Zedgraph生成SVG
- 19. 创建一个扩展另一个PHP扩展的PHP扩展?
- 20. 添加一个新的扩展我的生成的证书
- 21. 如何生成自定义唯一ID
- 22. 如何创建自定义JUnit5扩展
- 23. XSD .NET皂响应字段放置在扩展的任何代替定义
- 24. 扩展会影响另一个网页
- 25. 如何用Django生成一个响应PDF?
- 26. 如何从另一个JtextField更新JTextField
- 27. 如何在F#计量单位上定义扩展成员?
- 28. 扩展了多个预定义的类
- 29. 自定义JTextField
- 30. 如何从一个JTextField数据传递到另一个的JTextField
扩展您的类并添加焦点监听器它... [如何写一个焦点听众](h ttp://docs.oracle.com/javase/tutorial/uiswing/events/focuslistener.html) – MadProgrammer 2013-03-07 06:34:21