Swing/TabSet のバックアップ(No.13)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/TabSet へ行く。
- 1 (2015-03-09 (月) 14:43:23)
- 2 (2015-03-09 (月) 14:46:02)
- 3 (2015-03-16 (月) 17:24:29)
- 4 (2015-03-16 (月) 17:28:33)
- 5 (2016-05-19 (木) 21:03:05)
- 6 (2017-08-30 (水) 17:44:56)
- 7 (2018-09-14 (金) 20:05:57)
- 8 (2020-09-16 (水) 23:44:01)
- 9 (2020-10-02 (金) 10:20:10)
- 10 (2022-07-07 (木) 14:15:35)
- 11 (2025-01-03 (金) 08:57:02)
- 12 (2025-01-03 (金) 09:01:23)
- 13 (2025-01-03 (金) 09:02:38)
- 14 (2025-01-03 (金) 09:03:21)
- 15 (2025-01-03 (金) 09:04:02)
- category: swing
folder: TabSet
title: JTextPaneにTabSetを設定してTabStopの文字列揃えをテストする
tags: [JTextPane, StyledDocument, TabSet, TabStop]
author: aterai
pubdate: 2015-03-02T00:15:36+09:00
description: JTextPaneのパラグラフ属性にTabSetを設定し、TabStopによる文字列の揃えをテストします。
image:
Summary
JTextPane
のパラグラフ属性にTabSet
を設定し、TabStop
による文字列の揃えをテストします。
Screenshot

Advertisement
Source Code Examples
textPane.setText(String.join("\n",
String.join("\t", "LEFT1", "CENTER1", "RIGHT1", "3.14"),
String.join("\t", "LEFT22", "CENTER22", "RIGHT22", "12.3"),
String.join("\t", "LEFT333", "CENTER333", "RIGHT333", "123.45"),
String.join("\t", "LEFT4444", "CENTER4444", "RIGHT4444", "0.9876")));
// MutableAttributeSet attr = new SimpleAttributeSet();
Style attr = textPane.getStyle(StyleContext.DEFAULT_STYLE);
StyleConstants.setTabSet(attr, new TabSet(new TabStop[] {
new TabStop(0f, TabStop.ALIGN_LEFT, TabStop.LEAD_NONE),
new TabStop(100f, TabStop.ALIGN_CENTER, TabStop.LEAD_NONE),
new TabStop(200f, TabStop.ALIGN_RIGHT, TabStop.LEAD_NONE),
new TabStop(250f, TabStop.ALIGN_DECIMAL, TabStop.LEAD_NONE)
// new TabStop(300f, TabStop.ALIGN_BAR, TabStop.LEAD_NONE)
}));
textPane.setParagraphAttributes(attr, false);
View in GitHub: Java, Kotlin解説
TabStop.ALIGN_LEFT
- タブに続く文字をタブ位置に左揃えで配置
TabStop.ALIGN_CENTER
- タブ以降の文字(次のタブ、または改行までのすべての文字)がタブ位置を中心に揃うように配置
TabStop.ALIGN_RIGHT
- タブ以降の文字(次のタブ、または改行までのすべての文字)がタブ位置に対して右揃えになるよう配置
TabStop.ALIGN_DECIMAL
- タブ以降の文字をタブ位置に対して小数点揃えになるよう配置
TabStop.ALIGN_BAR
JTextPane
では未実装で罫線は描画されない
- リーダーとして
TabStop.LEAD_DOTS
、TabStop.LEAD_EQUALS
、TabStop.LEAD_HYPHENS
、TabStop.LEAD_THICKLINE
、TabStop.LEAD_UNDERLINE
が定義されているがJTextPane
ではこれらは描画されず、すべてTabStop.LEAD_NONE
と同じ扱い - ドキュメントの「タブ・セットは変更できません。」は翻訳元は「It is also immutable.」なので「
TabSet
、TabStop
はどちらも不変(イミュータブル)です。」の意味?