Swing/MultiLineLabel のバックアップ(No.25)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/MultiLineLabel へ行く。
- 1 (2007-12-24 (月) 23:24:03)
- 2 (2008-01-25 (金) 16:26:34)
- 3 (2008-05-08 (木) 18:45:44)
- 4 (2008-10-31 (金) 10:42:47)
- 5 (2008-10-31 (金) 14:36:51)
- 6 (2008-11-07 (金) 14:22:27)
- 7 (2008-12-25 (木) 00:03:08)
- 8 (2008-12-25 (木) 01:46:20)
- 9 (2008-12-26 (金) 00:38:15)
- 10 (2009-11-02 (月) 12:56:20)
- 11 (2010-02-17 (水) 16:59:03)
- 12 (2010-04-06 (火) 02:47:20)
- 13 (2010-08-26 (木) 17:17:17)
- 14 (2011-03-26 (土) 23:11:45)
- 15 (2011-12-11 (日) 15:59:40)
- 16 (2013-02-20 (水) 15:42:19)
- 17 (2013-02-28 (木) 14:43:36)
- 18 (2013-05-03 (金) 23:47:38)
- 19 (2013-08-17 (土) 00:22:43)
- 20 (2013-08-31 (土) 01:39:12)
- 21 (2014-11-01 (土) 00:46:09)
- 22 (2014-11-22 (土) 03:59:58)
- 23 (2014-11-25 (火) 03:03:31)
- 24 (2014-12-14 (日) 14:40:07)
- 25 (2015-03-10 (火) 16:01:23)
- 26 (2015-03-31 (火) 21:08:18)
- 27 (2016-05-27 (金) 13:15:09)
- 28 (2016-05-27 (金) 15:47:16)
- 29 (2016-06-02 (木) 16:53:00)
- 30 (2016-09-06 (火) 13:43:51)
- 31 (2017-03-30 (木) 13:53:56)
- 32 (2017-03-31 (金) 16:14:00)
- 33 (2017-08-24 (木) 17:41:10)
- 34 (2017-11-02 (木) 15:34:40)
- 35 (2018-09-06 (木) 11:18:35)
- 36 (2018-10-30 (火) 16:36:49)
- 37 (2019-10-15 (火) 17:33:47)
- 38 (2021-05-20 (木) 07:50:33)
- 39 (2022-08-20 (土) 22:15:25)
- title: JTextPane、JLabelなどで複数行を表示 tags: [JLabel, JTextArea, JTextPane] author: aterai pubdate: 2006-06-12 description: JTextPane、JTextArea、JLabelを使った複数行のラベルをテストします。
概要
JTextPane
、JTextArea
、JLabel
を使った複数行のラベルをテストします。
Screenshot
Advertisement
サンプルコード
private final JTextPane label1 = new JTextPane();
private final JTextArea label2 = new JTextArea();
private final JLabel label3 = new JLabel();
public MainPanel() {
super(new GridLayout(3,1));
ImageIcon icon = new ImageIcon(getClass().getResource("wi0124-32.png"));
SimpleAttributeSet attr = new SimpleAttributeSet();
StyleConstants.setLineSpacing(attr, -0.2f);
label1.setParagraphAttributes(attr, true);
label1.setText("JTextPane\nasdfasdf");
label2.setText("JTextArea\nasdfasdf");
label3.setText("<html>JLabel+html<br>asdfasdf");
label3.setIcon(icon);
add(setLeftIcon(label1, icon));
add(setLeftIcon(label2, icon));
add(label3);
setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8));
setPreferredSize(new Dimension(320, 160));
}
private static Box setLeftIcon(JTextComponent label, ImageIcon icon) {
label.setForeground(UIManager.getColor("Label.foreground"));
//label.setBackground(UIManager.getColor("Label.background"));
label.setOpaque(false);
label.setEditable(false);
label.setFocusable(false);
label.setMaximumSize(label.getPreferredSize());
label.setMinimumSize(label.getPreferredSize());
JLabel l = new JLabel(icon);
l.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
Box box = Box.createHorizontalBox();
box.add(l);
box.add(Box.createHorizontalStrut(2));
box.add(label);
box.add(Box.createHorizontalGlue());
return box;
}
View in GitHub: Java, Kotlin解説
- 上:
JTextPane
- 文字色、背景色を変更し、編集不可、フォーカスの取得不可にした
JTextPane
を使用 \n
を使って改行し複数行を表示SimpleAttributeSet
を使って、行間を詰めている
- 文字色、背景色を変更し、編集不可、フォーカスの取得不可にした
- 中:
JTextArea
- 文字色、背景色を変更し、編集不可、フォーカスの取得不可にした
JTextArea
を使用 \n
を使って改行し複数行を表示
- 文字色、背景色を変更し、編集不可、フォーカスの取得不可にした
- 下:
JLabel
+html
JLabel
の文字列にhtml
タグを使用<br>
タグを使って改行し複数行を表示
参考リンク
- XP Style Icons - Windows Application Icon, Software XP Icons
- アイコンを利用しています。
- JEditorPaneやJTextPaneに行間を設定する