<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ein Karlsruher Bloggt! &#187; JList</title>
	<atom:link href="http://blog.mynotiz.de/tag/jlist/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mynotiz.de</link>
	<description>Java, PHP und alles rund ums Thema Informatik</description>
	<lastBuildDate>Thu, 26 Jan 2012 11:22:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Java Checkbox in JList</title>
		<link>http://blog.mynotiz.de/programmieren/java-checkbox-in-jlist-1061/</link>
		<comments>http://blog.mynotiz.de/programmieren/java-checkbox-in-jlist-1061/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 14:52:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Beispiel]]></category>
		<category><![CDATA[Checkbox]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[JCheckBox]]></category>
		<category><![CDATA[JList]]></category>
		<category><![CDATA[List]]></category>
		<category><![CDATA[ListCellRenderer]]></category>
		<category><![CDATA[ListModel]]></category>
		<category><![CDATA[toString()]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.mynotiz.de/programmieren/java-checkbox-in-jlist-1061/</guid>
		<description><![CDATA[Für mein neustes Programm jCalFilter, welches Einträge in einem Kalender im ICS-Format filtern kann, habe ich eine JList gebraucht in der ich Termine auswählen kann. Dafür eignete sich am Besten eine JList die JCheckboxes beinhaltet. Mit diesem kleinen Tutorial möchte ich euch zeugen wie ihr das realisieren könnt. Das fertige Programm soll so aussehen: Als [...]
Ähnliche Beiträge:<ol>
<li><a href='http://blog.mynotiz.de/programmieren/java-schriftfarbe-in-jlist-andern-714/' rel='bookmark' title='Java Schriftfarbe in JList ändern'>Java Schriftfarbe in JList ändern</a> <small>Bei der Java GUI-Entwicklung bin ich in letzter Zeit immer...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-jlist-automatisches-nach-unten-scrollen-nach-hinzufgen-970/' rel='bookmark' title='Java JList automatisches nach unten scrollen nach hinzuf&uuml;gen'>Java JList automatisches nach unten scrollen nach hinzuf&uuml;gen</a> <small>Ich schreibe gerade an einem Programm welches alle Festplattenaktivitäten in...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-radiobox-checkbox-am-beispiel-pizzarechner-mit-swing-awt-52/' rel='bookmark' title='Java: Radiobox &amp; Checkbox am Beispiel Pizzarechner mit Swing &amp; AWT'>Java: Radiobox &#038; Checkbox am Beispiel Pizzarechner mit Swing &#038; AWT</a> <small>Aufgabenstellung Erstellung eines Pizza Berechnungsprogramm Pizzaboden ohne Belag kostet für...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Für mein neustes Programm jCalFilter, welches Einträge in einem Kalender im ICS-Format filtern kann, habe ich eine <strong>JList</strong> gebraucht in der ich Termine auswählen kann. Dafür eignete sich am Besten eine <strong>JList die JCheckboxes beinhaltet</strong>. Mit diesem kleinen Tutorial möchte ich euch zeugen wie ihr das realisieren könnt.</p>
<p>Das fertige Programm soll so aussehen:</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="/wp-content/uploads/2010/11/image.png" width="200" height="200" /> </p>
<p>Als Datenkapsel verwende ich ein Objekt Person welches lediglich die Informationen Vorname, Name und Alter abspeichert. Des weiteren bietet die Klasse Person noch eine toString()-Methode. In dieser wird der Text zurückgegeben der jeweils in der Liste angezeigt werden soll.</p>
<h2></h2>
<h2>Person.java</h2>
<div style="border-bottom: black 1px dotted; border-left: black 1px dotted; padding-bottom: 5px; background-color: #ebebeb; padding-left: 5px; padding-right: 5px; border-top: black 1px dotted; border-right: black 1px dotted; padding-top: 5px" class="java" align="left">
<table border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td valign="top" nowrap="nowrap" align="left"><code><font color="#7f0055"><b>public class </b></font><font color="#000000">Person </font><font color="#000000">{</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>private </b></font><font color="#000000">String name;</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>private </b></font><font color="#000000">String vorname;</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>private </b></font><font color="#7f0055"><b>int </b></font><font color="#000000">alter;</font>               <br /><font color="#ffffff">&#160; </font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#000000">Person</font><font color="#000000">(</font><font color="#000000">String name, String vorname, </font><font color="#7f0055"><b>int </b></font><font color="#000000">alter</font><font color="#000000">){</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.name = name;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.vorname = vorname;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.alter = alter;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160; </font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#000000">String getName</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>return </b></font><font color="#000000">name;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">setName</font><font color="#000000">(</font><font color="#000000">String name</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.name = name;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#000000">String getVorname</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>return </b></font><font color="#000000">vorname;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">setVorname</font><font color="#000000">(</font><font color="#000000">String vorname</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.vorname = vorname;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>int </b></font><font color="#000000">getAlter</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>return </b></font><font color="#000000">alter;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">setAlter</font><font color="#000000">(</font><font color="#7f0055"><b>int </b></font><font color="#000000">alter</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.alter = alter;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160; </font>              <br /><font color="#ffffff">&#160; </font><font color="#646464">@Override</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#000000">String toString</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>return </b></font><font color="#000000">vorname + </font><font color="#2a00ff">&quot; &quot; </font><font color="#000000">+ name + </font><font color="#2a00ff">&quot; (&quot; </font><font color="#000000">+ alter + </font><font color="#2a00ff">&quot;)&quot;</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#000000">}</font></code></td>
</tr>
</tbody>
</table></div>
<p>&#160;</p>
<p>Nun kommen wir zum eigentlichen Kern der Implementierung. Die Klasse <strong>JCheckBoxList</strong> erbt einfach von JList. Diese beinhaltet einen <strong>ListCellRenderer</strong> in dem Formatierungen verändert werden können. Zusätzlich bietet die Klasse JCheckBoxList eine Methode selectAll() und deselectAll() an, um eben alle Häkchen zu setzten oder um die Auswahl aller Häkchen zu entfernen.</p>
<h2>JCheckBoxList.java</h2>
<div style="border-bottom: black 1px dotted; border-left: black 1px dotted; padding-bottom: 5px; background-color: #ebebeb; padding-left: 5px; padding-right: 5px; border-top: black 1px dotted; border-right: black 1px dotted; padding-top: 5px" class="java" align="left">
<table border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td valign="top" nowrap="nowrap" align="left"><code><font color="#7f0055"><b>import </b></font><font color="#000000">java.awt.Component;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">java.awt.event.MouseAdapter;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">java.awt.event.MouseEvent;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.JCheckBox;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.JList;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.ListCellRenderer;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.ListSelectionModel;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.UIManager;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#7f0055"><b>public class </b></font><font color="#000000">JCheckBoxList </font><font color="#7f0055"><b>extends </b></font><font color="#000000">JList </font><font color="#000000">{</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#000000">JCheckBoxList</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">setCellRenderer</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">CellRenderer</font><font color="#000000">())</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">addMouseListener</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">MouseAdapter</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">mousePressed</font><font color="#000000">(</font><font color="#000000">MouseEvent e</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>int </b></font><font color="#000000">index = locationToIndex</font><font color="#000000">(</font><font color="#000000">e.getPoint</font><font color="#000000">())</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">index != -</font><font color="#990000">1</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">JCheckBox checkbox = </font><font color="#000000">(</font><font color="#000000">JCheckBox</font><font color="#000000">) </font><font color="#000000">getModel</font><font color="#000000">()</font><font color="#000000">.getElementAt</font><font color="#000000">(</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">index</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">checkbox.setSelected</font><font color="#000000">(</font><font color="#000000">!checkbox.isSelected</font><font color="#000000">())</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">repaint</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">})</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">setSelectionMode</font><font color="#000000">(</font><font color="#000000">ListSelectionModel.SINGLE_SELECTION</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>protected class </b></font><font color="#000000">CellRenderer </font><font color="#7f0055"><b>implements </b></font><font color="#000000">ListCellRenderer </font><font color="#000000">{</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>public </b></font><font color="#000000">Component getListCellRendererComponent</font><font color="#000000">(</font><font color="#000000">JList list, Object value,</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>int </b></font><font color="#000000">index, </font><font color="#7f0055"><b>boolean </b></font><font color="#000000">isSelected, </font><font color="#7f0055"><b>boolean </b></font><font color="#000000">cellHasFocus</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">JCheckBox checkbox = </font><font color="#000000">(</font><font color="#000000">JCheckBox</font><font color="#000000">) </font><font color="#000000">value;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>if </b></font><font color="#000000">(</font><font color="#000000">isSelected</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// checkbox.setBorderPainted(true);</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// checkbox.setForeground(UIManager.getColor(&quot;List.selectionForeground&quot;));</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// checkbox.setBackground(UIManager.getColor(&quot;List.selectionBackground&quot;));</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">} </font><font color="#7f0055"><b>else </b></font><font color="#000000">{</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// checkbox.setBorderPainted(false);</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// checkbox.setForeground(UIManager.getColor(&quot;List.foreground&quot;));</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">checkbox.setBackground</font><font color="#000000">(</font><font color="#000000">UIManager.getColor</font><font color="#000000">(</font><font color="#2a00ff">&quot;List.background&quot;</font><font color="#000000">))</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>return </b></font><font color="#000000">checkbox;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">selectAll</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>int </b></font><font color="#000000">size = </font><font color="#7f0055"><b>this</b></font><font color="#000000">.getModel</font><font color="#000000">()</font><font color="#000000">.getSize</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>for </b></font><font color="#000000">(</font><font color="#7f0055"><b>int </b></font><font color="#000000">i = </font><font color="#990000">0</font><font color="#000000">; i &lt; size; i++</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">JCheckBox checkbox = </font><font color="#000000">(</font><font color="#000000">JCheckboxWithObject</font><font color="#000000">) </font><font color="#7f0055"><b>this</b></font><font color="#000000">.getModel</font><font color="#000000">()</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">.getElementAt</font><font color="#000000">(</font><font color="#000000">i</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">checkbox.setSelected</font><font color="#000000">(</font><font color="#7f0055"><b>true</b></font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.repaint</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">deselectAll</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>int </b></font><font color="#000000">size = </font><font color="#7f0055"><b>this</b></font><font color="#000000">.getModel</font><font color="#000000">()</font><font color="#000000">.getSize</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>for </b></font><font color="#000000">(</font><font color="#7f0055"><b>int </b></font><font color="#000000">i = </font><font color="#990000">0</font><font color="#000000">; i &lt; size; i++</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">JCheckBox checkbox = </font><font color="#000000">(</font><font color="#000000">JCheckboxWithObject</font><font color="#000000">) </font><font color="#7f0055"><b>this</b></font><font color="#000000">.getModel</font><font color="#000000">()</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">.getElementAt</font><font color="#000000">(</font><font color="#000000">i</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">checkbox.setSelected</font><font color="#000000">(</font><font color="#7f0055"><b>false</b></font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.repaint</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#000000">}</font></code></td>
</tr>
</tbody>
</table></div>
<p>&#160;</p>
<p>Um die Verbindung zwischen einer Person und der Checkbox herzustellen habe ich das Objekt <strong>JCheckboxWithObject</strong> erstellt. Diese Klasse erbt von JCheckBox aber beinhaltet zusätzlich noch ein Objekt vom Typ <em>Object</em> in dem man irgendein Objekt ablegen kann. In unserem Fall ein Objekt vom Typ <em>Person</em>. Die Checkbox wird, im Konstruktor und der Setter-Methode, nun mit dem Rückgabestring der toString()-Methode des jeweiligen Objektes(Person) beschriftet.</p>
<h2>JCheckboxWithObject.java</h2>
<div style="border-bottom: black 1px dotted; border-left: black 1px dotted; padding-bottom: 5px; background-color: #ebebeb; padding-left: 5px; padding-right: 5px; border-top: black 1px dotted; border-right: black 1px dotted; padding-top: 5px" class="java" align="left">
<table border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td valign="top" nowrap="nowrap" align="left"><code><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.JCheckBox;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#7f0055"><b>public class </b></font><font color="#000000">JCheckboxWithObject </font><font color="#7f0055"><b>extends </b></font><font color="#000000">JCheckBox</font><font color="#000000">{</font>               <br /><font color="#ffffff">&#160; </font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>private </b></font><font color="#000000">Object object;</font>               <br /><font color="#ffffff">&#160; </font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#000000">JCheckboxWithObject </font><font color="#000000">(</font><font color="#000000">Object object</font><font color="#000000">){</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.object = object;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.setText</font><font color="#000000">(</font><font color="#000000">object.toString</font><font color="#000000">())</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160; </font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#000000">Object getObject</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>return </b></font><font color="#000000">object;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">setObject</font><font color="#000000">(</font><font color="#000000">Object object</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.object = object;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.setText</font><font color="#000000">(</font><font color="#000000">object.toString</font><font color="#000000">())</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#000000">}</font></code></td>
</tr>
</tbody>
</table></div>
<p>&#160;</p>
<p>Nun kann die Datenstruktur wie folgt angewendet werden. Das Ergebnis seht ihr ja oben.</p>
<h2>Main.java</h2>
<div style="border-bottom: black 1px dotted; border-left: black 1px dotted; padding-bottom: 5px; background-color: #ebebeb; padding-left: 5px; padding-right: 5px; border-top: black 1px dotted; border-right: black 1px dotted; padding-top: 5px" class="java" align="left">
<table border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td valign="top" nowrap="nowrap" align="left"><code><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.DefaultListModel;</font>              <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.JFrame;</font>              <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.SwingUtilities;</font>              <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.UIManager;</font>              <br /><font color="#ffffff"></font>              <br /><font color="#7f0055"><b>public class </b></font><font color="#000000">Main </font><font color="#000000">{</font>              <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#000000">{</font>              <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#3f7f5f">// Set Look &amp; Feel</font>              <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>try </b></font><font color="#000000">{</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">UIManager.setLookAndFeel</font><font color="#000000">(</font><font color="#000000">UIManager.getSystemLookAndFeelClassName</font><font color="#000000">())</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">} </font><font color="#7f0055"><b>catch </b></font><font color="#000000">(</font><font color="#000000">Exception e</font><font color="#000000">) {</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">e.printStackTrace</font><font color="#000000">()</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">}</font>              <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>              <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public static </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">main</font><font color="#000000">(</font><font color="#000000">String</font><font color="#000000">[] </font><font color="#000000">args</font><font color="#000000">) {</font>              <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">SwingUtilities.invokeLater</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">Runnable</font><font color="#000000">() {</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">run</font><font color="#000000">() {</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// Fenster</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">JFrame frame = </font><font color="#7f0055"><b>new </b></font><font color="#000000">JFrame</font><font color="#000000">()</font><font color="#000000">;</font>              <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// Checkboxliste</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">DefaultListModel personenListModel = </font><font color="#7f0055"><b>new </b></font><font color="#000000">DefaultListModel</font><font color="#000000">()</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">JCheckBoxList list = </font><font color="#7f0055"><b>new </b></font><font color="#000000">JCheckBoxList</font><font color="#000000">()</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">list.setModel</font><font color="#000000">(</font><font color="#000000">personenListModel</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// Daten hinzufügen</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">Person hans = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Person</font><font color="#000000">(</font><font color="#2a00ff">&quot;Wurst&quot;</font><font color="#000000">, </font><font color="#2a00ff">&quot;Hans&quot;</font><font color="#000000">, </font><font color="#990000">24</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">Person peter = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Person</font><font color="#000000">(</font><font color="#2a00ff">&quot;Müller&quot;</font><font color="#000000">, </font><font color="#2a00ff">&quot;Peter&quot;</font><font color="#000000">, </font><font color="#990000">36</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">Person klaus = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Person</font><font color="#000000">(</font><font color="#2a00ff">&quot;Wagner&quot;</font><font color="#000000">, </font><font color="#2a00ff">&quot;Klaus&quot;</font><font color="#000000">, </font><font color="#990000">29</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">JCheckboxWithObject hansCheckbox = </font><font color="#7f0055"><b>new </b></font><font color="#000000">JCheckboxWithObject</font><font color="#000000">(</font><font color="#000000">hans</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">JCheckboxWithObject peterCheckbox = </font><font color="#7f0055"><b>new </b></font><font color="#000000">JCheckboxWithObject</font><font color="#000000">(</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">peter</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">JCheckboxWithObject klausCheckbox = </font><font color="#7f0055"><b>new </b></font><font color="#000000">JCheckboxWithObject</font><font color="#000000">(</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">klaus</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">personenListModel.addElement</font><font color="#000000">(</font><font color="#000000">hansCheckbox</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">personenListModel.addElement</font><font color="#000000">(</font><font color="#000000">peterCheckbox</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">personenListModel.addElement</font><font color="#000000">(</font><font color="#000000">klausCheckbox</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">frame.getContentPane</font><font color="#000000">()</font><font color="#000000">.add</font><font color="#000000">(</font><font color="#000000">list</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">frame.setVisible</font><font color="#000000">(</font><font color="#7f0055"><b>true</b></font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">frame.setTitle</font><font color="#000000">(</font><font color="#2a00ff">&quot;JCheckbox in JList&quot;</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">frame.setSize</font><font color="#000000">(</font><font color="#990000">200</font><font color="#000000">, </font><font color="#990000">200</font><font color="#000000">)</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">}</font>              <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">})</font><font color="#000000">;</font>              <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>              <br /><font color="#000000">}</font></code></td>
</tr>
</tbody>
</table></div>
<h2>Download</h2>
<p><a href="/downloads/JList_mit_JCheckBox.zip" target="_blank">Hier könnt ihr euch denn ganzen Quellcode herunterladen.</a></p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:140px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.mynotiz.de%2Fprogrammieren%2Fjava-checkbox-in-jlist-1061%2F&amp;layout=button_count&amp;show_faces=false&amp;width=140&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=140px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.mynotiz.de/programmieren/java-checkbox-in-jlist-1061/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.mynotiz.de/programmieren/java-checkbox-in-jlist-1061/"  data-text="Java Checkbox in JList" data-count="horizontal">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Ähnliche Beiträge:<ol>
<li><a href='http://blog.mynotiz.de/programmieren/java-schriftfarbe-in-jlist-andern-714/' rel='bookmark' title='Java Schriftfarbe in JList ändern'>Java Schriftfarbe in JList ändern</a> <small>Bei der Java GUI-Entwicklung bin ich in letzter Zeit immer...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-jlist-automatisches-nach-unten-scrollen-nach-hinzufgen-970/' rel='bookmark' title='Java JList automatisches nach unten scrollen nach hinzuf&uuml;gen'>Java JList automatisches nach unten scrollen nach hinzuf&uuml;gen</a> <small>Ich schreibe gerade an einem Programm welches alle Festplattenaktivitäten in...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-radiobox-checkbox-am-beispiel-pizzarechner-mit-swing-awt-52/' rel='bookmark' title='Java: Radiobox &amp; Checkbox am Beispiel Pizzarechner mit Swing &amp; AWT'>Java: Radiobox &#038; Checkbox am Beispiel Pizzarechner mit Swing &#038; AWT</a> <small>Aufgabenstellung Erstellung eines Pizza Berechnungsprogramm Pizzaboden ohne Belag kostet für...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.mynotiz.de/programmieren/java-checkbox-in-jlist-1061/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Java JList automatisches nach unten scrollen nach hinzuf&#252;gen</title>
		<link>http://blog.mynotiz.de/programmieren/java-jlist-automatisches-nach-unten-scrollen-nach-hinzufgen-970/</link>
		<comments>http://blog.mynotiz.de/programmieren/java-jlist-automatisches-nach-unten-scrollen-nach-hinzufgen-970/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 16:00:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[automatisch nach unten scrollen]]></category>
		<category><![CDATA[Beispiel]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JFrame]]></category>
		<category><![CDATA[JList]]></category>
		<category><![CDATA[JScrollPane]]></category>
		<category><![CDATA[Scroll down]]></category>

		<guid isPermaLink="false">http://blog.mynotiz.de/programmieren/java-jlist-automatisches-nach-unten-scrollen-nach-hinzufgen-970/</guid>
		<description><![CDATA[Ich schreibe gerade an einem Programm welches alle Festplattenaktivitäten in einer JList auflistet. Da sehr viele Aktionen anfallen möchte ich dass die, von einer ScrollPane umgebene, JList automatisch nach unten scrollt sobald ein Eintrag hinzugefügt wird. Quasi ein JList Auto-Scroll Down. Das Java-Beispielprogramm sieht folgendermaßen aus. Screenshot Quellcode Und hier der erlösende Quellcode dazu. import [...]
Ähnliche Beiträge:<ol>
<li><a href='http://blog.mynotiz.de/programmieren/java-schriftfarbe-in-jlist-andern-714/' rel='bookmark' title='Java Schriftfarbe in JList ändern'>Java Schriftfarbe in JList ändern</a> <small>Bei der Java GUI-Entwicklung bin ich in letzter Zeit immer...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-jtable-beispiel-491/' rel='bookmark' title='Java JTable Beispiel'>Java JTable Beispiel</a> <small>Seit längerem beschäftigt mich die Problematik &#8220;Tabellen auf der Benutzeroberfläche...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/jcombobox-beispiel-580/' rel='bookmark' title='Java JComboBox Beispiel'>Java JComboBox Beispiel</a> <small>Heute möchte ich zeigen wie ihr ein Dropdownmenü in Java...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Ich schreibe gerade an einem Programm welches alle Festplattenaktivitäten in einer <strong>JList</strong> auflistet. Da sehr viele Aktionen anfallen möchte ich dass die, von einer ScrollPane umgebene, JList <strong>automatisch nach unten scrollt</strong> sobald ein Eintrag hinzugefügt wird. Quasi ein <strong>JList Auto-Scroll Down</strong>. Das Java-Beispielprogramm sieht folgendermaßen aus.</p>
<h2>Screenshot</h2>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="jlist_autoscroll_example" border="0" alt="jlist_autoscroll_example" src="/wp-content/uploads/2010/09/jlist_autoscroll_example.gif" width="400" height="300" /> </p>
<h2>Quellcode</h2>
<p>Und hier der erlösende Quellcode dazu.</p>
<div style="border-bottom: black 1px dotted; border-left: black 1px dotted; padding-bottom: 5px; background-color: #ebebeb; padding-left: 5px; padding-right: 5px; border-top: black 1px dotted; border-right: black 1px dotted; padding-top: 5px" class="java" align="left">
<table border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td valign="top" nowrap="nowrap" align="left"><code><font color="#7f0055"><b>import </b></font><font color="#000000">java.awt.BorderLayout;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">java.awt.event.ActionEvent;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">java.awt.event.ActionListener;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.DefaultListModel;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.JButton;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.JFrame;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.JList;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.JScrollPane;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.SwingUtilities;</font>               <br /><font color="#7f0055"><b>import </b></font><font color="#000000">javax.swing.WindowConstants;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#7f0055"><b>public class </b></font><font color="#000000">Main </font><font color="#7f0055"><b>extends </b></font><font color="#000000">JFrame </font><font color="#000000">{</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>private </b></font><font color="#000000">JList jList;</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>private </b></font><font color="#000000">JScrollPane jScrollPane;</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>private </b></font><font color="#000000">DefaultListModel defaultListModel;</font>               <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>private </b></font><font color="#000000">JButton jButton;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public </b></font><font color="#000000">Main</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>super</b></font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">initGUI</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>private </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">initGUI</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#7f0055"><b>try </b></font><font color="#000000">{</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">BorderLayout thisLayout = </font><font color="#7f0055"><b>new </b></font><font color="#000000">BorderLayout</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.setDefaultCloseOperation</font><font color="#000000">(</font><font color="#000000">WindowConstants.DISPOSE_ON_CLOSE</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.getContentPane</font><font color="#000000">()</font><font color="#000000">.setLayout</font><font color="#000000">(</font><font color="#000000">thisLayout</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">defaultListModel = </font><font color="#7f0055"><b>new </b></font><font color="#000000">DefaultListModel</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">jList = </font><font color="#7f0055"><b>new </b></font><font color="#000000">JList</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">jList.setModel</font><font color="#000000">(</font><font color="#000000">defaultListModel</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">jScrollPane = </font><font color="#7f0055"><b>new </b></font><font color="#000000">JScrollPane</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">jScrollPane.setPreferredSize</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">java.awt.Dimension</font><font color="#000000">(</font><font color="#990000">392</font><font color="#000000">, </font><font color="#990000">245</font><font color="#000000">))</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">jScrollPane.setViewportView</font><font color="#000000">(</font><font color="#000000">jList</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">jButton = </font><font color="#7f0055"><b>new </b></font><font color="#000000">JButton</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">jButton.setText</font><font color="#000000">(</font><font color="#2a00ff">&quot;add&quot;</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">jButton.addActionListener</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">ActionListener</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">actionPerformed</font><font color="#000000">(</font><font color="#000000">ActionEvent evt</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// Wichtig ist dass das Hinzufügen alles in einem seperaten</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// Thread abläuft damit die Oberfläche nicht hängen bleibt</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// und damit es keine Fehler beim dem Scrollen gibt(IndexOutOfBoundsException).</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">SwingUtilities.invokeLater</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">Runnable</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">run</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// Element dem DefaultListModel hinzufügen.</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// Angezeigt wird dann die toString Methode des</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// Objektes, in diesem Fall ist das der String</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// selbst.</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">defaultListModel.addElement</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">String</font><font color="#000000">(</font><font color="#000000">System.currentTimeMillis</font><font color="#000000">() </font><font color="#000000">+ </font><font color="#2a00ff">&quot;&quot;</font><font color="#000000">))</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// Anschließend den letzten index des Model sichtbar setzen,</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#3f7f5f">// dies Bewirkt den automatischen Scroll nach unten.</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">jList.ensureIndexIsVisible</font><font color="#000000">(</font><font color="#000000">defaultListModel.size</font><font color="#000000">() </font><font color="#000000">- </font><font color="#990000">1</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">})</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">})</font><font color="#000000">;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.getContentPane</font><font color="#000000">()</font><font color="#000000">.add</font><font color="#000000">(</font><font color="#000000">jScrollPane, BorderLayout.CENTER</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.getContentPane</font><font color="#000000">()</font><font color="#000000">.add</font><font color="#000000">(</font><font color="#000000">jButton, BorderLayout.SOUTH</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.setTitle</font><font color="#000000">(</font><font color="#2a00ff">&quot;JList Auto-Scroll Beispiel&quot;</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.pack</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>this</b></font><font color="#000000">.setSize</font><font color="#000000">(</font><font color="#990000">400</font><font color="#000000">, </font><font color="#990000">300</font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">} </font><font color="#7f0055"><b>catch </b></font><font color="#000000">(</font><font color="#000000">Exception e</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">e.printStackTrace</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff"></font>              <br /><font color="#ffffff">&#160; </font><font color="#7f0055"><b>public static </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">main</font><font color="#000000">(</font><font color="#000000">String</font><font color="#000000">[] </font><font color="#000000">args</font><font color="#000000">) {</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">SwingUtilities.invokeLater</font><font color="#000000">(</font><font color="#7f0055"><b>new </b></font><font color="#000000">Runnable</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#7f0055"><b>public </b></font><font color="#7f0055"><b>void </b></font><font color="#000000">run</font><font color="#000000">() {</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">Main inst = </font><font color="#7f0055"><b>new </b></font><font color="#000000">Main</font><font color="#000000">()</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">inst.setLocationRelativeTo</font><font color="#000000">(</font><font color="#7f0055"><b>null</b></font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">inst.setVisible</font><font color="#000000">(</font><font color="#7f0055"><b>true</b></font><font color="#000000">)</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160;&#160;&#160;&#160;&#160; </font><font color="#000000">}</font>               <br /><font color="#ffffff">&#160;&#160;&#160; </font><font color="#000000">})</font><font color="#000000">;</font>               <br /><font color="#ffffff">&#160; </font><font color="#000000">}</font>               <br /><font color="#000000">}</font></code></td>
</tr>
</tbody>
</table></div>
<h2>Download</h2>
<p><a href="/downloads/jlist_autoscroll/Main.java.txt" target="_blank">Main.java</a></p>
<p>Ich hoffe ich konnte einigen von euch helfen.</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:140px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.mynotiz.de%2Fprogrammieren%2Fjava-jlist-automatisches-nach-unten-scrollen-nach-hinzufgen-970%2F&amp;layout=button_count&amp;show_faces=false&amp;width=140&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=140px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.mynotiz.de/programmieren/java-jlist-automatisches-nach-unten-scrollen-nach-hinzufgen-970/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.mynotiz.de/programmieren/java-jlist-automatisches-nach-unten-scrollen-nach-hinzufgen-970/"  data-text="Java JList automatisches nach unten scrollen nach hinzuf&uuml;gen" data-count="horizontal">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Ähnliche Beiträge:<ol>
<li><a href='http://blog.mynotiz.de/programmieren/java-schriftfarbe-in-jlist-andern-714/' rel='bookmark' title='Java Schriftfarbe in JList ändern'>Java Schriftfarbe in JList ändern</a> <small>Bei der Java GUI-Entwicklung bin ich in letzter Zeit immer...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-jtable-beispiel-491/' rel='bookmark' title='Java JTable Beispiel'>Java JTable Beispiel</a> <small>Seit längerem beschäftigt mich die Problematik &#8220;Tabellen auf der Benutzeroberfläche...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/jcombobox-beispiel-580/' rel='bookmark' title='Java JComboBox Beispiel'>Java JComboBox Beispiel</a> <small>Heute möchte ich zeigen wie ihr ein Dropdownmenü in Java...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.mynotiz.de/programmieren/java-jlist-automatisches-nach-unten-scrollen-nach-hinzufgen-970/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Schriftfarbe in JList ändern</title>
		<link>http://blog.mynotiz.de/programmieren/java-schriftfarbe-in-jlist-andern-714/</link>
		<comments>http://blog.mynotiz.de/programmieren/java-schriftfarbe-in-jlist-andern-714/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 17:26:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Farbige JList]]></category>
		<category><![CDATA[Hintergrundfarbe]]></category>
		<category><![CDATA[JList]]></category>
		<category><![CDATA[JList Elemente Schriftfarbe]]></category>
		<category><![CDATA[ListCellRenderer]]></category>
		<category><![CDATA[ListCellRenderer Beispiel]]></category>
		<category><![CDATA[ListCellRenderer Example]]></category>
		<category><![CDATA[Schriftfarbe]]></category>
		<category><![CDATA[Schriftfarbe in JList]]></category>
		<category><![CDATA[UI Manager]]></category>

		<guid isPermaLink="false">http://blog.mynotiz.de/?p=714</guid>
		<description><![CDATA[Bei der Java GUI-Entwicklung bin ich in letzter Zeit immer öfters auf die Komponente JList gestoßen. Ich wollte euch nun zeigen wie ihr die Elemente in einer JList färben könnt. Ihr könnt sowohl die Schriftfarbe als auch die Hintergrundfarbe ändern. Dazu benötigen wir einen sogenannten ListCellRenderer. In unserem Beispiel möchten wir verschiedenen Personen, die wir [...]
Ähnliche Beiträge:<ol>
<li><a href='http://blog.mynotiz.de/programmieren/java-gui-zentrieren-398/' rel='bookmark' title='Java Gui zentrieren'>Java Gui zentrieren</a> <small>Hier ein kleines Code Snippet welches euch zeigt wie ihr...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-radiobox-checkbox-am-beispiel-pizzarechner-mit-swing-awt-52/' rel='bookmark' title='Java: Radiobox &amp; Checkbox am Beispiel Pizzarechner mit Swing &amp; AWT'>Java: Radiobox &#038; Checkbox am Beispiel Pizzarechner mit Swing &#038; AWT</a> <small>Aufgabenstellung Erstellung eines Pizza Berechnungsprogramm Pizzaboden ohne Belag kostet für...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-jtable-beispiel-491/' rel='bookmark' title='Java JTable Beispiel'>Java JTable Beispiel</a> <small>Seit längerem beschäftigt mich die Problematik &#8220;Tabellen auf der Benutzeroberfläche...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 122px"><img title="geänderte Schriftfarbe in einer JList" src="/bilder/farbige_jlist/farbige_schrift_in_jlist.gif" alt="geänderte Schriftfarbe in einer JList" width="112" height="83" /><p class="wp-caption-text">geänderte Schriftfarbe in einer JList</p></div>
<p>Bei der Java GUI-Entwicklung bin ich in letzter Zeit immer öfters auf die Komponente JList gestoßen. Ich wollte euch nun zeigen wie ihr die <strong>Elemente in einer JList färben</strong> könnt. Ihr könnt sowohl die <strong>Schriftfarbe </strong>als auch die <strong>Hintergrundfarbe</strong> ändern. Dazu benötigen wir einen sogenannten <strong>ListCellRenderer</strong>. In unserem Beispiel möchten wir verschiedenen Personen, die wir zu einer JList hinzufügen, eine individuelle Schriftfarbe geben. Zunächst benötigen wir die Klasse &#8220;Person&#8221;, die eine Person mit einem Namen und einer Farbe repräsentiert.</p>
<h2>Person.java</h2>
<div align="left" class="java" style="border: 1px dotted black; padding: 5px; background-color: #EBEBEB;">
<table border="0" cellpadding="3" cellspacing="0">
<tr>
<td nowrap="nowrap" valign="top" align="left"><code><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.awt.Color;</font><br />
<font color="#ffffff"></font><br /><font color="#7f0055"><b>public&nbsp;class&nbsp;</b></font><font color="#000000">Person&nbsp;</font><font color="#000000">{</font><br />
<font color="#ffffff"></font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>private&nbsp;</b></font><font color="#000000">String&nbsp;name;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>private&nbsp;</b></font><font color="#000000">Color&nbsp;schriftfarbe;</font><br />
<font color="#ffffff"></font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>public&nbsp;</b></font><font color="#000000">Person</font><font color="#000000">(</font><font color="#000000">String&nbsp;name,&nbsp;Color&nbsp;schriftfarbe</font><font color="#000000">){</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>this</b></font><font color="#000000">.name&nbsp;=&nbsp;name;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>this</b></font><font color="#000000">.schriftfarbe&nbsp;=&nbsp;schriftfarbe;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>public&nbsp;</b></font><font color="#000000">String&nbsp;getName</font><font color="#000000">()&nbsp;{</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>return&nbsp;</b></font><font color="#000000">name;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>public&nbsp;</b></font><font color="#7f0055"><b>void&nbsp;</b></font><font color="#000000">setName</font><font color="#000000">(</font><font color="#000000">String&nbsp;name</font><font color="#000000">)&nbsp;{</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>this</b></font><font color="#000000">.name&nbsp;=&nbsp;name;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>public&nbsp;</b></font><font color="#000000">Color&nbsp;getSchriftfarbe</font><font color="#000000">()&nbsp;{</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>return&nbsp;</b></font><font color="#000000">schriftfarbe;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>public&nbsp;</b></font><font color="#7f0055"><b>void&nbsp;</b></font><font color="#000000">setSchriftfarbe</font><font color="#000000">(</font><font color="#000000">Color&nbsp;schriftfarbe</font><font color="#000000">)&nbsp;{</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>this</b></font><font color="#000000">.schriftfarbe&nbsp;=&nbsp;schriftfarbe;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#000000">}</font></code></td>
</tr>
</table>
</div>
<p>Nun kommen wir zum <strong>ListCellRenderer</strong>. In unserem Beispiel nennen wir diesen &#8220;PersonListCellRenderer&#8221;. Dieser ListCellRenderer bestimmt das Aussehen der einzelnen Elemente in der List, implementiert die Klasse ListCellRenderer und ist ein Kindelement vom JLabel. Somit erreicht man also das die JList Elemente normale JLabels dargestellt werden. Wir können also all das machen das wir auch bei einem JLabel machen können. Wichtig ist das <strong>setOpaque</strong> auf <strong>true</strong> gesetzt wird. Mehr zu setOpaque findest du <a href="http://mindprod.com/jgloss/setopaque.html" target="_blank">hier</a>.</p>
<h2>PersonListCellRenderer.java</h2>
<div align="left" class="java" style="border: 1px dotted black; padding: 5px; background-color: #EBEBEB;">
<table border="0" cellpadding="3" cellspacing="0">
<td nowrap="nowrap" valign="top" align="left"><code><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.awt.Component;</font><br />
<font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">javax.swing.JLabel;</font><br />
<font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">javax.swing.JList;</font><br />
<font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">javax.swing.ListCellRenderer;</font><br />
<font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">javax.swing.UIManager;</font><br />
<font color="#ffffff"></font><br />
<font color="#7f0055"><b>public&nbsp;class&nbsp;</b></font><font color="#000000">PersonListCellRenderer&nbsp;</font><font color="#7f0055"><b>extends&nbsp;</b></font><font color="#000000">JLabel&nbsp;</font><font color="#7f0055"><b>implements&nbsp;</b></font><font color="#000000">ListCellRenderer&nbsp;</font><font color="#000000">{</font><br />
<font color="#ffffff"></font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#646464">@Override</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>public&nbsp;</b></font><font color="#000000">Component&nbsp;getListCellRendererComponent</font><font color="#000000">(</font><font color="#000000">JList&nbsp;list,&nbsp;Object&nbsp;value,</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>int&nbsp;</b></font><font color="#000000">index,&nbsp;</font><font color="#7f0055"><b>boolean&nbsp;</b></font><font color="#000000">isSelected,&nbsp;</font><font color="#7f0055"><b>boolean&nbsp;</b></font><font color="#000000">cellHasFocus</font><font color="#000000">)&nbsp;{</font><br />
<font color="#ffffff"></font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Wert&nbsp;aus&nbsp;der&nbsp;Liste&nbsp;wird&nbsp;als&nbsp;Person&nbsp;interpretiert&nbsp;(gecastet)</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">Person&nbsp;person&nbsp;=&nbsp;</font><font color="#000000">(</font><font color="#000000">Person</font><font color="#000000">)&nbsp;</font><font color="#000000">value;</font><br />
<font color="#ffffff"></font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Name&nbsp;der&nbsp;Person&nbsp;wird&nbsp;als&nbsp;Text&nbsp;gesetzt</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>this</b></font><font color="#000000">.setText</font><font color="#000000">(</font><font color="#000000">person.getName</font><font color="#000000">())</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Muss&nbsp;aufgerufen&nbsp;werden&nbsp;ansonsten&nbsp;hat&nbsp;this.setBackground&nbsp;keine&nbsp;Wirkung</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>this</b></font><font color="#000000">.setOpaque</font><font color="#000000">(</font><font color="#7f0055"><b>true</b></font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Element&nbsp;aus&nbsp;der&nbsp;Liste&nbsp;ist&nbsp;markiert</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>if</b></font><font color="#000000">(</font><font color="#000000">isSelected</font><font color="#000000">){</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Schriftfarbe</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;UIManager.getColor(&#34;List.selectionForeground&#34;)&nbsp;gibt&nbsp;die&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Standard&nbsp;Schriftfarbe&nbsp;f&uuml;r&nbsp;ein&nbsp;markiertes&nbsp;Listen&nbsp;Element&nbsp;zur&uuml;ck</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>this</b></font><font color="#000000">.setForeground</font><font color="#000000">(</font><font color="#000000">UIManager.getColor</font><font color="#000000">(</font><font color="#2a00ff">&#34;List.selectionForeground&#34;</font><font color="#000000">))</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Hintergrund</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;UIManager.getColor(&#34;List.selectionBackground&#34;)&nbsp;gibt&nbsp;die&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Standard&nbsp;Hintergrundfarbe&nbsp;f&uuml;r&nbsp;ein&nbsp;markiertes&nbsp;Listen&nbsp;Element&nbsp;zur&uuml;ck&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>this</b></font><font color="#000000">.setBackground</font><font color="#000000">(</font><font color="#000000">UIManager.getColor</font><font color="#000000">(</font><font color="#2a00ff">&#34;List.selectionBackground&#34;</font><font color="#000000">))</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Element&nbsp;aus&nbsp;der&nbsp;Liste&nbsp;ist&nbsp;nicht&nbsp;markiert</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>else</b></font><font color="#000000">{</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Schriftfarbe</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>this</b></font><font color="#000000">.setForeground</font><font color="#000000">(</font><font color="#000000">person.getSchriftfarbe</font><font color="#000000">())</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Hintergrund</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>this</b></font><font color="#000000">.setBackground</font><font color="#000000">(</font><font color="#000000">UIManager.getColor</font><font color="#000000">(</font><font color="#2a00ff">&#34;List.background&#34;</font><font color="#000000">))</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Das&nbsp;Label&nbsp;wird&nbsp;zur&uuml;ckgegeben&nbsp;und&nbsp;nun&nbsp;angezeigt</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>return&nbsp;this</b></font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#000000">}</font></code></td>
</tr>
</table>
</div>
<p>Die Variable <strong>isSelected</strong> enthält die Information ob das jeweilige Element markiert ist oder nicht. Dementsprechend kann man verschiedene Farben für den jeweiligen Fall definieren. Über den UI Manager hat man die Möglichkeit Standardwerte auszulesen. Aus dem Quellcode geht hervor das wir die Hintergrundfarbe einfach vom Standard übernehmen und nur bei nichtmarkiertem Element erhält die jeweilige Person ihre Farbe. Alle möglichen <strong>Standardwerte des UI Managers</strong> können unter <a href="http://javauidefaults.mynotiz.de" target="_blank">Java UI Manager Defaults</a> nachgelesen werden. Schließlich wenden wir unseren <strong>ListCellRenderer</strong> auf eine JList an.</p>
<h2>Beispiel Programm einer Liste</h2>
<div align="left" class="java" style="border: 1px dotted black; padding: 5px; background-color: #EBEBEB;">
<table border="0" cellpadding="3" cellspacing="0">
<tr>
<td nowrap="nowrap" valign="top" align="left"><code><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.awt.Color;</font><br />
<font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.awt.Container;</font><br />
<font color="#ffffff"></font><br />
<font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">javax.swing.DefaultListModel;</font><br />
<font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">javax.swing.JFrame;</font><br />
<font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">javax.swing.JList;</font><br />
<font color="#ffffff"></font><br />
<font color="#7f0055"><b>public&nbsp;class&nbsp;</b></font><font color="#000000">Liste</font><font color="#000000">{</font><br />
<font color="#ffffff"></font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>private&nbsp;</b></font><font color="#000000">JFrame&nbsp;frameApplikation;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>private&nbsp;</b></font><font color="#000000">Container&nbsp;containerApplikation;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Liste</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>private&nbsp;</b></font><font color="#000000">JList&nbsp;liste;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Listen&nbsp;Modell</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>private&nbsp;</b></font><font color="#000000">DefaultListModel&nbsp;modell;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>public&nbsp;</b></font><font color="#000000">Liste</font><font color="#000000">(){&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//Set&nbsp;Look&nbsp;&amp;&nbsp;Feel</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>try&nbsp;</b></font><font color="#000000">{</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">javax.swing.UIManager.setLookAndFeel</font><font color="#000000">(</font><font color="#000000">javax.swing.UIManager.getSystemLookAndFeelClassName</font><font color="#000000">())</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">}&nbsp;</font><font color="#7f0055"><b>catch</b></font><font color="#000000">(</font><font color="#000000">Exception&nbsp;e</font><font color="#000000">)&nbsp;{</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">e.printStackTrace</font><font color="#000000">()</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">frameApplikation&nbsp;=&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">JFrame</font><font color="#000000">()</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">frameApplikation.setTitle</font><font color="#000000">(</font><font color="#2a00ff">&#34;Beispiel&nbsp;einer&nbsp;Liste&nbsp;mit&nbsp;bunter&nbsp;Schrift&#34;</font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">liste&nbsp;=&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">JList</font><font color="#000000">()</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">modell&nbsp;=&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">DefaultListModel</font><font color="#000000">()</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">liste.setModel</font><font color="#000000">(</font><font color="#000000">modell</font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">liste.setCellRenderer</font><font color="#000000">(</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">PersonListCellRenderer</font><font color="#000000">())</font><font color="#000000">;</font><br />
<font color="#ffffff"></font><br />
<font color="#ffffff"></font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">Person&nbsp;person1&nbsp;=&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">Person</font><font color="#000000">(</font><font color="#2a00ff">&#34;Stefan&nbsp;Raab&#34;</font><font color="#000000">,&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">Color</font><font color="#000000">(</font><font color="#990000">23</font><font color="#000000">,&nbsp;</font><font color="#990000">59</font><font color="#000000">,&nbsp;</font><font color="#990000">159</font><font color="#000000">))</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">Person&nbsp;person2&nbsp;=&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">Person</font><font color="#000000">(</font><font color="#2a00ff">&#34;Oliver&nbsp;Pocher&#34;</font><font color="#000000">,&nbsp;Color.GREEN</font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">Person&nbsp;person3&nbsp;=&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">Person</font><font color="#000000">(</font><font color="#2a00ff">&#34;Elton&#34;</font><font color="#000000">,&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">Color</font><font color="#000000">(</font><font color="#990000">244</font><font color="#000000">,&nbsp;</font><font color="#990000">16</font><font color="#000000">,&nbsp;</font><font color="#990000">159</font><font color="#000000">))</font><font color="#000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">Person&nbsp;person4&nbsp;=&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">Person</font><font color="#000000">(</font><font color="#2a00ff">&#34;Hans-Martin&#34;</font><font color="#000000">,&nbsp;Color.RED</font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">modell.addElement</font><font color="#000000">(</font><font color="#000000">person1</font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">modell.addElement</font><font color="#000000">(</font><font color="#000000">person2</font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">modell.addElement</font><font color="#000000">(</font><font color="#000000">person3</font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">modell.addElement</font><font color="#000000">(</font><font color="#000000">person4</font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">containerApplikation&nbsp;=&nbsp;frameApplikation.getContentPane</font><font color="#000000">()</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">containerApplikation.add</font><font color="#000000">(</font><font color="#000000">liste</font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">frameApplikation.pack</font><font color="#000000">()</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">frameApplikation.setDefaultCloseOperation</font><font color="#000000">(</font><font color="#000000">JFrame.EXIT_ON_CLOSE</font><font color="#000000">)</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">frameApplikation.setVisible</font><font color="#000000">(</font><font color="#7f0055"><b>true</b></font><font color="#000000">)</font><font color="#000000">;&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>public&nbsp;static&nbsp;</b></font><font color="#7f0055"><b>void&nbsp;</b></font><font color="#000000">main</font><font color="#000000">(</font><font color="#000000">String</font><font color="#000000">[]&nbsp;</font><font color="#000000">args</font><font color="#000000">)&nbsp;{</font><br />
<font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">Liste</font><font color="#000000">()</font><font color="#000000">;</font><br />
<font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<font color="#000000">}</font></code></td>
</tr>
</table>
</div>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:140px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.mynotiz.de%2Fprogrammieren%2Fjava-schriftfarbe-in-jlist-andern-714%2F&amp;layout=button_count&amp;show_faces=false&amp;width=140&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=140px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.mynotiz.de/programmieren/java-schriftfarbe-in-jlist-andern-714/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.mynotiz.de/programmieren/java-schriftfarbe-in-jlist-andern-714/"  data-text="Java Schriftfarbe in JList ändern" data-count="horizontal">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Ähnliche Beiträge:<ol>
<li><a href='http://blog.mynotiz.de/programmieren/java-gui-zentrieren-398/' rel='bookmark' title='Java Gui zentrieren'>Java Gui zentrieren</a> <small>Hier ein kleines Code Snippet welches euch zeigt wie ihr...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-radiobox-checkbox-am-beispiel-pizzarechner-mit-swing-awt-52/' rel='bookmark' title='Java: Radiobox &amp; Checkbox am Beispiel Pizzarechner mit Swing &amp; AWT'>Java: Radiobox &#038; Checkbox am Beispiel Pizzarechner mit Swing &#038; AWT</a> <small>Aufgabenstellung Erstellung eines Pizza Berechnungsprogramm Pizzaboden ohne Belag kostet für...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-jtable-beispiel-491/' rel='bookmark' title='Java JTable Beispiel'>Java JTable Beispiel</a> <small>Seit längerem beschäftigt mich die Problematik &#8220;Tabellen auf der Benutzeroberfläche...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.mynotiz.de/programmieren/java-schriftfarbe-in-jlist-andern-714/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

