JTextFieldのMarginを設定する

編集者:Terai Atsuhiro~

作成日:2005-06-06
更新日:2021-11-18 (木) 11:32:21
  • 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

概要

JTextFieldMargin、または二重のBorderを設定して、内余白の変化をテストします。

概要

JTextField内部の余白を設定します。
http://terai.xrea.jp/swing/textfieldmargin/screenshot.png

サンプルコード

#spanend
#spanadd
Insets m = UIManager.getInsets("TextField.margin");
#spanend
#spanadd
InsetsUIResource iur = new InsetsUIResource(m.top, m.left + 5, m.bottom, m.right);
#spanend
#spanadd
UIManager.put("TextField.margin", iur);
#spanend

#spandel
**サンプルコード [#h76ab388]
#spanend
 Insets m = (Insets) UIManager.get("TextField.margin");
 InsetsUIResource iur = new InsetsUIResource(m.top,m.left+5,m.bottom,m.right);
 UIManager.put("TextField.margin", iur);
 
 Insets m = field01.getMargin();
 Logger.global.info(m.toString());
 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);
#spanadd
Insets m = field01.getMargin();
#spanend
#spanadd
Insets margin = new Insets(m.top, m.left + 10, m.bottom, m.right);
#spanend
#spanadd
field01.setMargin(margin);
#spanend

-[[サンプルを起動>http://terai.xrea.jp/swing/textfieldmargin/sample.jnlp]]
-[[jarファイル>http://terai.xrea.jp/swing/textfieldmargin/sample.jar]]
-[[ソース>http://terai.xrea.jp/swing/textfieldmargin/src.zip]]
#spanadd
Border b1 = BorderFactory.createEmptyBorder(0, 20, 0, 0);
#spanend
#spanadd
Border b2 = BorderFactory.createCompoundBorder(field02.getBorder(), b1);
#spanend
#spanadd
field02.setBorder(b2);
#spanend
#spanadd
View in GitHub: Java, Kotlin

解説

  • 一番上
    • UIManager.put()ですべてのJTextFieldの余白を指定しています。

解説

以下のサンプルでは、それぞれ左側の内余白のサイズのみを変更しています。
  • 真ん中
    • 一番上 + setMargin()で余白を指定しています。
  • 一番下
    • 一番上 + setBorder()で余白を指定しています。
  • 上: UIManager.put()ですべてのJTextFieldの余白を指定
    • getMargin().left: 7px
    • getInsets().left: 8px
    • getBorder().getBorderInsets(c).left: 8px
  • 中: 「上(UIManager.put())」とsetMargin()で余白を指定
    • getMargin().left: 17px
    • getInsets().left: 18px
    • getBorder().getBorderInsets(c).left: 18px
  • 下: 「上(UIManager.put())」とsetBorder()で余白を指定
    • getMargin().left: 7px
    • getInsets().left: 28px
    • getBorder().getBorderInsets(c).left: 28px
上記のサンプルでは、それぞれ左余白のサイズのみを変更しています。

参考リンク

参考リンク

コメント

  • test -- test

コメント