私はJTextField
にテキストをつけています。テキストフィールドをクリックすると、カーソルがフィールドの最後に移動します。カーソルがフォーカスされると、カーソルがフィールドの先頭に移動します。JTextFieldまたはJComboBoxのカーソルを先頭に移動
私は編集可能なJComboBox
で同じ問題を抱えています。
このカーソルのフォーカスをどのようにして達成できますか?
私はJTextField
にテキストをつけています。テキストフィールドをクリックすると、カーソルがフィールドの最後に移動します。カーソルがフォーカスされると、カーソルがフィールドの先頭に移動します。JTextFieldまたはJComboBoxのカーソルを先頭に移動
私は編集可能なJComboBox
で同じ問題を抱えています。
このカーソルのフォーカスをどのようにして達成できますか?
/**
* On gaining focus place the cursor at the start of the text.
*/
public class CursorAtStartFocusListener extends FocusAdapter {
@Override
public void focusGained(java.awt.event.FocusEvent evt) {
Object source = evt.getSource();
if (source instanceof JTextComponent) {
JTextComponent comp = (JTextComponent) source;
comp.setCaretPosition(0);
} else {
Logger.getLogger(getClass().getName()).log(Level.INFO,
"A text component expected instead of {0}",
source.getClass().getName());
}
}
}
jTextField1.addFocusListener(new CursorAtStartFocusListener());
jComboBox1.getEditor().getEditorComponent().addFocusListener(new CursorAtStartFocusListener());
// Only one instance of CursorAtStartFocusListener needed.
私は、これはあなたが探しているものかもしれないと思う:
JTextField t = new JTextField();
t.setHorizontalAlignment(JTextField.LEFT);
あなたは
comp.setCaretPosition(インデックス)は、このコマンドを使用することができます。
このインデックスは、キャレット位置です。
私はコンテンツ内にテキストを含む編集可能なJComboBoxを持っています.JComboBoxをクリックすると、編集可能なJComboBoxの開始位置にマーカーを移動することができます。デフォルトでは、テキストフィールドの最後に移動します。私がフィールドの開始を言ったとき、私はドロップダウンリストの最初のアイテムを意味しません。 – Karen
ご清聴ありがとうございます。私の混乱は、そのコメントの編集を通していくらかソートされました。 :) –