タイトル
TOPJavaSwingJList → This Page

JList@Swing サンプル08

概要

Java - Swing - JList のサンプルです。
・HTMLを表示

解説

リストのアイテムにHTMLを表示しています。

サンプルイメージ

サンプル画像


サンプルソース

import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;

/**
 * JList サンプル08
 * ・HTMLを表示
 * 
 * @author みっちー
 */
public class JList08 extends JFrame {
	
	private static final long serialVersionUID = 1L;
	
	/**
	 * 開始メソッド
	 * 
	 * @param args	パラメータ
	 */
	public static void main(String[] args) {
		JList08 frame = new JList08();
		
		// 閉じるボタンをクリックされた場合の動作を設定
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		// ウインドウのタイトルを設定
		frame.setTitle("JList サンプル08");
		
		// フレームの X座標、Y座標、幅、高さを設定
		frame.setBounds(100, 200, 400, 250);
		
		// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
		frame.setVisible(true);
	}
	
	/**
	 * コンストラクタ
	 */
	public JList08() {
		// パネルを作成
		JPanel panelBase = new JPanel();
		
		// HTMLを作成
		String html1 = "";
		html1 += "<html>";
		html1 += "これは<br/>";
		html1 += "<span style=\"color:red;\">HTML</span><br/>です。<br/>";
		html1 += "</html>";
		String html2 = "";
		html2 += "<html>";
		html2 += "<body>";
		html2 += "<table border='1'>";
		html2 += "<tr><th colspan='3'>1234567890</th></tr>";
		html2 += "<tr><td>aaaaa</td><td>bbbbb</td><td>ccccc</td></tr>";
		html2 += "</table>";
		html2 += "</body>";
		html2 += "</html>";

		// リストモデル
		DefaultListModel<String> listModel = new DefaultListModel<String>();
		listModel.addElement("<html><span style='color:red;'>AAAAA</span></html>");
		listModel.addElement("<html><span style='color:green;'>BBBBB</span></html>");
		listModel.addElement("<html><span style='color:blue;'>CCCCC</span></html>");
		listModel.addElement(html1);
		listModel.addElement(html2);
		
		// リストを作成
		JList<String> list = new JList<String>();
		
		// データをセット
		list.setModel(listModel);
		
		// リストを追加
		panelBase.add(list);
		
		// パネルを追加
		getContentPane().add(panelBase);
	}
}

サンプルソースのダウンロード

ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)

更新履歴

2016/05/13 新規作成


TOPJavaSwingJList → This Page