Swing/TextFieldMargin の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/TextFieldMargin へ行く。
- Swing/TextFieldMargin の差分を削除
--- category: swing folder: TextFieldMargin title: JTextFieldのMarginを設定する tags: [JTextField, UIManager, Border] author: aterai pubdate: 2005-06-06T00:34:45+09:00 description: JTextFieldにMargin、または二重のBorderを設定して、内余白の変化をテストします。 image: https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTVM2PvsXI/AAAAAAAAAnQ/3wxfaHXrEUk/s800/TextFieldMargin.png --- * 概要 [#summary] `JTextField`に`Margin`、または二重の`Border`を設定して、内余白の変化をテストします。 #download(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTVM2PvsXI/AAAAAAAAAnQ/3wxfaHXrEUk/s800/TextFieldMargin.png) * サンプルコード [#sourcecode] #code(link){{ Insets m = UIManager.getInsets("TextField.margin"); InsetsUIResource iur = new InsetsUIResource(m.top, m.left + 5, m.bottom, m.right); UIManager.put("TextField.margin", iur); Insets m = field01.getMargin(); Insets margin = new Insets(m.top, m.left + 10, m.bottom, m.right); field01.setMargin(margin); Border b1 = BorderFactory.createEmptyBorder(0, 20, 0, 0); Border b2 = BorderFactory.createCompoundBorder(field02.getBorder(), b1); field02.setBorder(b2); }} * 解説 [#explanation] 以下のサンプルでは、それぞれ左側の内余白のサイズのみを変更しています。 // javax.swing.plaf.InsetsUIResource[top=2,left=7,bottom=2,right=2] - 上: `UIManager.put()`ですべての`JTextField`の余白を指定 -- `getMargin().left`: `7px` -- `getInsets().left`: `8px` -- `getBorder().getBorderInsets(c).left`: `8px` - 中: 一番上の余白と`setMargin()`で余白を指定 - 中: 「上(`UIManager.put()`)」と`setMargin()`で余白を指定 -- `getMargin().left`: `17px` -- `getInsets().left`: `18px` -- `getBorder().getBorderInsets(c).left`: `18px` - 下: 一番上の余白と`setBorder()`で余白を指定 - 下: 「上(`UIManager.put()`)」と`setBorder()`で余白を指定 -- `getMargin().left`: `7px` -- `getInsets().left`: `28px` -- `getBorder().getBorderInsets(c).left`: `28px` * 参考リンク [#reference] - [[JTextField内にアイコンを追加>Swing/IconTextField]] - [[JComboBoxにアイコンを表示>Swing/IconComboBox]] * コメント [#comment] #comment #comment