اینترفیس Document

Document Interface یک مدل داده ایی را برای انواع کامپوننتهایی که با text کار می کنند تعریف می کند. پیاده سازی این اینترفیس برای  JTextField و یا هر کامپوننت متنی دیگر موجب دسترسی به قابلیتهایی مانند رنگ فونت (Font Color) ، نوع فونت (Font Style) و ... را برای کامپوننت فراهم می کند. یکی از مزایای استفاده از این اینترفیس  این است که وقتی می خواهید تغییرات را در مورد یک JTextField بررسی کنید، می توانید برای پیدا کردن تغییرات متن، Document آنرا با استفاده از متد getDocument گرفته و بجای کامپوننت JTextField آنرا بررسی کنید  و یا همچنین برای آگاهی از انجام تغییرات در متن، DocumentListener را فراخوانی کنید و یا می توانید از آن برای کنترل ورودی و فیلتر سازی اطلاعات JTextField استفاده کنید.

البته در کنترلهای AWT می توان با استفاده از InputVerifier عمل بررسی اطلاعات ورودی را انجام داد، اما این Listener فقط زمانی که JTextField دارای Focus باشد فراخوانی میگردد. ولی با استفاده از Document دیگر نیازی به گرفتن Focus نمی باشد. در حقیقت این اینترفیس یک JTextfield و یا هر کامپوننت متنی دیگر را مانند یک فایل XML و HTML مورد پردازش قرار داده و می تواند از اطلاعات آنها برای سایر اعمال استفاده کند