mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-03 07:12:45 +08:00
103 lines
6.9 KiB
HTML
103 lines
6.9 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
javax.swing
|
||
</div>
|
||
<h2 class="title" title="Interface Painter">Interface Painter<T></h2>
|
||
</div><div class="contentContainer">
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<dl>
|
||
<dt>
|
||
所有已知实现类:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../javax/swing/plaf/nimbus/AbstractRegionPainter.html" title="javax.swing.plaf.nimbus中的类">AbstractRegionPainter</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public interface <span class="typeNameLabel">Painter<T></span></pre>
|
||
<div class="block">
|
||
<p> <span>绘画代表。</span> <span>Painter界面正好定义了一种方法, <code>paint</code> 。</span> <span>它用于开发人员可以更改组件的绘制程序的情况,而无需使用子类化组件。</span> <span>在做任何形式的绘画代表团时也是一般有用的。</span> </p>
|
||
<p> <span><code>Painter</code>是Java2D代码的简单封装,并且重用现有的<code>Painter</code>或将它们组合在一起是相当微不足道的。</span> <span>这个界面的实现也很简单,所以如果你找不到需要的<code>Painter</code> ,你可以用最少的努力写一个。</span> <span>写一个<code>Painter</code>需要Java2D的知识。</span> </p>
|
||
<p> <span>甲<code>Painter</code>可以与一类参数来创建。</span> <span>预计这种类型将在<code>paint</code> 。</span> <span>例如,你可能希望写一个<code>Painter</code> ,只有拥有的子类作品<a href="../../java/awt/Component.html" title="java.awt中的类"><code>Component</code></a> 。</span> <span>在这种情况下,当声明<code>Painter</code>时,您可以声明它需要一个<code>Component</code> ,允许paint方法类型安全。</span> <span>例如:</span> </p>
|
||
<pre> <span><code> Painter<Component> p = new Painter<Component>() { public void paint(Graphics2D g, Component c, int width, int height) { g.setColor(c.getBackground()); //and so forth } } </code></span> </pre>
|
||
<p> <span>此接口不保证线路安全。</span> </p>
|
||
</div> </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>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/Painter.html#paint-java.awt.Graphics2D-T-int-int-">paint</a></span>(<a href="../../java/awt/Graphics2D.html" title="class in java.awt">Graphics2D</a> g, <a href="../../javax/swing/Painter.html" title="type parameter in Painter">T</a> object, int width, int height)</code>
|
||
<div class="block">
|
||
<span>给出给定的<a href="../../java/awt/Graphics2D.html" title="java.awt中的类"><code>Graphics2D</code></a>对象。</span>
|
||
</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="paint-java.awt.Graphics2D-java.lang.Object-int-int-">
|
||
<!-- --> </a><a name="paint-java.awt.Graphics2D-T-int-int-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>paint</h4> <pre>void paint(<a href="../../java/awt/Graphics2D.html" title="class in java.awt">Graphics2D</a> g,
|
||
<a href="../../javax/swing/Painter.html" title="type parameter in Painter">T</a> object,
|
||
int width,
|
||
int height)</pre>
|
||
<div class="block">
|
||
<p> <span>给予给定的<a href="../../java/awt/Graphics2D.html" title="java.awt中的类"><code>Graphics2D</code></a>对象。</span> <span>此方法的实现<em>可能会</em>修改<code>Graphics2D</code>上的<code>Graphics2D</code> ,并且在完成后不需要恢复该状态。</span> <span>在大多数情况下,建议呼叫者传递一个临时图形对象。</span> <span><code>Graphics2D</code>永远不能为空。</span> </p>
|
||
<p> <span>图形对象上的状态可能会被<code>paint</code>方法所<code>paint</code> ,但可能不是。</span> <span>例如,设置在显卡的抗锯齿呈现提示可能会或可能不会被尊重<code>Painter</code>实施。</span> </p>
|
||
<p> <span>提供的对象参数充当可选配置参数。</span> <span>例如,它可以是<code>Component</code> 。</span> <span>A <code>Painter</code> ,期望它可以从该<code>Component</code>读取状态并使用状态进行绘画。</span> <span>例如,一个实现可以读取backgroundColor并使用它。</span> </p>
|
||
<p> <span>一般来说,为了提高可重用性,大多数标准的<code>Painter</code>忽略此参数。</span> <span>因此,它们可以在任何情况下重复使用。</span> <span><code>object</code>可能为null。</span> <span>如果对象参数为空,则实现不能抛出NullPointerException。</span> </p>
|
||
<p> <span>最后, <code>width</code>和<code>height</code>参数指定<code>Painter</code>应该绘制的宽度和高度。</span> <span>更具体地说,指定的宽度和高度指示画家应该在该宽度和高度内完全绘制。</span> <span><code>g</code>参数上的任何指定剪辑将进一步限制该区域。</span> </p>
|
||
<p> <span>例如,假设我有一个绘制渐变的<code>Painter</code>实现。</span> <span>渐变从白色变成黑色。</span> <span>它“延伸”填满绘画区域。</span> <span>因此,如果我使用这个<code>Painter</code>绘制一个500×500的区域,最左边的区域将是黑色,最右边是白色,并且之间将画一个平滑的渐变。</span> <span>我可以不用修改,重用<code>Painter</code>画一个20x20的区域。</span> <span>这个区域也将在左边是黑色,右边是白色,并且之间画一个平滑的渐变。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>g</code> - 要呈现的Graphics2D。</span>
|
||
<span>这不能为空。</span>
|
||
</dd>
|
||
<dd>
|
||
<span><code>object</code> - 可选配置参数。</span>
|
||
<span>这可能是空的。</span>
|
||
</dd>
|
||
<dd>
|
||
<code>width</code> - 要涂漆的区域的宽度。
|
||
</dd>
|
||
<dd>
|
||
<code>height</code> - 要涂漆的面积的高度。
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |