uTools-Manuals/docs/java/javax/swing/ListCellRenderer.html

130 lines
7.1 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.swing
</div>
<h2 class="title" title="Interface ListCellRenderer">Interface ListCellRenderer&lt;E&gt;</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
<span class="paramLabel">参数类型</span>
</dt>
<dd>
<code>E</code> - 可以使用此渲染器的值的类型
</dd>
</dl>
<dl>
<dt>
所有已知实现类:
</dt>
<dd>
<span><a href="../../javax/swing/plaf/basic/BasicComboBoxRenderer.html" title="javax.swing.plaf.basic中的类">BasicComboBoxRenderer</a> <a href="../../javax/swing/plaf/basic/BasicComboBoxRenderer.UIResource.html" title="javax.swing.plaf.basic中的类">BasicComboBoxRenderer.UIResource</a> <a href="../../javax/swing/DefaultListCellRenderer.html" title="javax.swing中的类">DefaultListCellRenderer</a> <a href="../../javax/swing/DefaultListCellRenderer.UIResource.html" title="javax.swing中的类">DefaultListCellRenderer.UIResource</a> <a href="../../javax/swing/plaf/metal/MetalFileChooserUI.FileRenderer.html" title="javax.swing.plaf.metal中的类">MetalFileChooserUI.FileRenderer</a> <a href="../../javax/swing/plaf/metal/MetalFileChooserUI.FilterComboBoxRenderer.html" title="javax.swing.plaf.metal中的类">MetalFileChooserUI.FilterComboBoxRenderer</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">ListCellRenderer&lt;E&gt;</span></pre>
<div class="block">
<span>识别可以用作“橡皮图章”来绘制JList中的单元格的组件。</span>
<span>例如使用一个JLabel作为ListCellRenderer你会写是这样的</span>
<pre> <span><code> class MyCellRenderer extends JLabel implements ListCellRenderer&lt;Object&gt; { public MyCellRenderer() { setOpaque(true); } public Component getListCellRendererComponent(JList&lt;?&gt; list, Object value, int index, boolean isSelected, boolean cellHasFocus) { setText(value.toString()); Color background; Color foreground; // check if this cell represents the current DnD drop location JList.DropLocation dropLocation = list.getDropLocation(); if (dropLocation != null &amp;&amp; !dropLocation.isInsert() &amp;&amp; dropLocation.getIndex() == index) { background = Color.BLUE; foreground = Color.WHITE; // check if this cell is selected } else if (isSelected) { background = Color.RED; foreground = Color.WHITE; // unselected, and not the DnD drop location } else { background = Color.WHITE; foreground = Color.BLACK; }; setBackground(background); setForeground(foreground); return this; } } </code></span> </pre>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../javax/swing/JList.html" title="javax.swing中的类"><code>JList</code></a> <a href="../../javax/swing/DefaultListCellRenderer.html" title="javax.swing中的类"><code>DefaultListCellRenderer</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="../../java/awt/Component.html" title="class in java.awt">Component</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/ListCellRenderer.html#getListCellRendererComponent-javax.swing.JList-E-int-boolean-boolean-">getListCellRendererComponent</a></span>(<a href="../../javax/swing/JList.html" title="class in javax.swing">JList</a>&lt;? extends <a href="../../javax/swing/ListCellRenderer.html" title="type parameter in ListCellRenderer">E</a>&gt; list, <a href="../../javax/swing/ListCellRenderer.html" title="type parameter in ListCellRenderer">E</a> value, int index, boolean isSelected, boolean cellHasFocus)</code>
<div class="block">
返回已配置为显示指定值的组件。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getListCellRendererComponent-javax.swing.JList-java.lang.Object-int-boolean-boolean-">
<!-- --> </a><a name="getListCellRendererComponent-javax.swing.JList-E-int-boolean-boolean-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getListCellRendererComponent</h4> <pre><a href="../../java/awt/Component.html" title="class in java.awt">Component</a> getListCellRendererComponent(<a href="../../javax/swing/JList.html" title="class in javax.swing">JList</a>&lt;? extends <a href="../../javax/swing/ListCellRenderer.html" title="type parameter in ListCellRenderer">E</a>&gt; list,
<a href="../../javax/swing/ListCellRenderer.html" title="type parameter in ListCellRenderer">E</a> value,
int index,
boolean isSelected,
boolean cellHasFocus)</pre>
<div class="block">
<span>返回已配置为显示指定值的组件。</span>
<span>然后调用该组件的<code>paint</code>方法“渲染”单元。</span>
<span>如果由于列表单元格不具有固定大小而需要计算列表的维度,则调用此方法来生成可调用<code>getPreferredSize</code></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>list</code> - 我们正在画的JList。
</dd>
<dd>
<code>value</code> - 由list.getModel返回的值getElementAtindex
</dd>
<dd>
<code>index</code> - 细胞索引。
</dd>
<dd>
<code>isSelected</code> - 如果指定的单元格被选中,则为真。
</dd>
<dd>
<code>cellHasFocus</code> - 如果指定的单元格具有焦点,则为真。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
其paint方法将呈现指定值的组件。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/swing/JList.html" title="class in javax.swing"><code>JList</code></a>,
<a href="../../javax/swing/ListSelectionModel.html" title="interface in javax.swing"><code>ListSelectionModel</code></a>,
<a href="../../javax/swing/ListModel.html" title="interface in javax.swing"><code>ListModel</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>