سؤال

ولقد طبقت Formatter إلى JFormattedTextField باستخدام FormatterFactory، عندما ينقر المستخدم في حقل النص سأقوم بتحديد المحتويات.

ولا يعمل المستمع التركيز كما هو متوقع لأن المنسق يحصل على استدعاء، والذي يسبب في نهاية المطاف القيمة إلى إعادة تعيين الذي في نهاية المطاف دي تختار مجالات المحتويات. وأعتقد أن ما يحدث هو أنه بعد التغيرات في القيمة، والإقحام ينتقل إلى أقصى اليمين موقف وهذا يتم إزالة هذا المجال.

هل لديها أي علم حول كيفية الحصول على هذا وحدد مجالات محتويات بشكل صحيح؟

هل كانت مفيدة؟

المحلول

والحل السريع والقذر هو استخدام EventQueue.invokeLater من focusListener الخاص بك.

 EventQueue.invokeLater(new Runnable(){
  public void run() { yourTextField.selectAll();}
});

نصائح أخرى

والذي جدك الذي تستخدمه - أي فرصة هذا خطأ في ذلك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top