Swing/CaretWidth のバックアップ(No.3)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/CaretWidth へ行く。
- 1 (2020-07-06 (月) 02:14:03)
- 2 (2021-12-09 (木) 10:28:46)
- 3 (2022-08-20 (土) 22:15:25)
- category: swing folder: CaretWidth title: JTextComponentで使用されるCaretの幅を変更する tags: [Caret, JTextComponent] author: aterai pubdate: 2020-07-06T02:13:21+09:00 description: JTextFieldやJTextAreaなどのJTextComponentで使用されるCaretの幅を変更します。 image: https://drive.google.com/uc?id=1yXj9mvzo3Ary_OohlWvmmV2DQXZiSG1O
概要
JTextField
やJTextArea
などのJTextComponent
で使用されるCaret
の幅を変更します。
Screenshot
Advertisement
サンプルコード
UIManager.put("Caret.width", 2);
JTextField field1 = new JTextField("Caret.width: 2");
JTextField field2 = new JTextField("caretWidth: 4");
field2.putClientProperty("caretWidth", 4);
JTextField field3 = new JTextField("caretAspectRatio: 0.4");
field3.putClientProperty("caretAspectRatio", .4f);
View in GitHub: Java, Kotlin解説
Caret.width
UIManager.put("Caret.width", 2)
ですべてのJTextComponent
でCaret
の幅を変更
caretWidth
JComponent#putClientProperty("caretWidth", 4)
で指定したコンポーネントのCaret
の幅を変更
caretAspectRatio
JComponent#putClientProperty("caretAspectRatio", .4f)
で指定したコンポーネントのCaret
の幅を高さとの比率で変更
Caret
幅のデフォルトは1px
WindowsLookAndFeel
でのCaret
幅のデフォルトはコントロールパネルで指定した幅になる- [JDK-6994562] Swing classes (both JTextArea and JTextField) don't support caret width tuning - Java Bug System
Caret
の幅に負の値を設定した場合1px
に初期化されるCaret
の幅を0px
に設定するとCaret
が非表示になる
参考リンク
- [JDK-6994562] Swing classes (both JTextArea and JTextField) don't support caret width tuning - Java Bug System
- JTextAreaなどのCaretを非表示にする