我懷疑這是一個很平凡的問題。 我希望創建一個擴展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