フォーマッターによってオーバーライドされた選択
質問
FormatterFactory
を使用して JFormattedTextField
に Formatter
を適用し、ユーザーがコンテンツを選択するテキストフィールドをクリックしたとき。
フォーマッターが呼び出され、最終的にフィールドの内容を選択解除する値がリセットされるため、フォーカスリスナーが期待どおりに機能しません。何が起こっているのかと思いますが、値が変更された後、キャレットが右端の位置に移動し、フィールドの選択が解除されます。
これを回避してフィールドの内容を正しく選択する方法についての知識はありますか?
解決
迅速かつ汚い回避策は focusListenerからのEventQueue.invokeLater。
EventQueue.invokeLater(new Runnable(){
public void run() { yourTextField.selectAll();}
});
他のヒント
どのjdkを使用していますか-これはバグですか?
所属していません StackOverflow