|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLabel
javax.swing.table.DefaultTableCellRenderer
public class DefaultTableCellRenderer
JTable で各セルを描画 (表示) するための標準クラスです。
実装上の注意: このクラスは、標準コンポーネントクラスの JLabel を継承しています。しかし JTable は、セルの描画に独自の機構を採用しているため、セルレンダリングから少し修正された動作を必要とします。テーブルクラスは単一のセルレンダリングを定義し、テーブル内のすべてのセルを描画するゴムスタンプとして、それを使用します。 つまり、そのセルレンダリングが最初のセルを描画し、そのセルレンダリングのコンテンツを変更し、それを新しい位置に移動し、また、描画して繰り返すという具合です。標準コンポーネントの JLabel は、このような方法で使用するように設計されていないので、セルが描画されるたびに、revalidate がトリガーされないようにします。revalidate メッセージは、ほかのすべてのコンポーネントが影響を受けないかどうか指定するためにコンテナの上位階層に渡されるので、トリガーされないようにしないと大幅にパフォーマンスが低下します。また、レンダリングはペイント操作の有効期間にのみ生成されるため、同様にペイント操作の階層内の移動にまつわるオーバーヘッドが生じないようにする必要があります。したがって、このクラスを使用してメソッド validate、invalidate、revalidate、repaint および firePropertyChange をオーバーライドすると、無操作状態になり、パフォーマンスを向上させるために isOpaque メソッドのみがオーバーライドされます。独自のレンダリングを書き込む場合は、このパフォーマンスのことを考慮してください。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK Version 1.4 以降、すべての JavaBeans™ の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。
JTable| 入れ子のクラスの概要 | |
|---|---|
static class |
DefaultTableCellRenderer.UIResource
UIResource を実装する DefaultTableCellRenderer のサブクラスです。 |
| クラス javax.swing.JLabel から継承された入れ子のクラス/インタフェース |
|---|
JLabel.AccessibleJLabel |
| クラス javax.swing.JComponent から継承された入れ子のクラス/インタフェース |
|---|
JComponent.AccessibleJComponent |
| クラス java.awt.Container から継承された入れ子のクラス/インタフェース |
|---|
Container.AccessibleAWTContainer |
| クラス java.awt.Component から継承された入れ子のクラス/インタフェース |
|---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
| フィールドの概要 | |
|---|---|
protected static Border |
noFocusBorder
空の Border です。 |
| クラス javax.swing.JLabel から継承されたフィールド |
|---|
labelFor |
| クラス javax.swing.JComponent から継承されたフィールド |
|---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| クラス java.awt.Component から継承されたフィールド |
|---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| インタフェース javax.swing.SwingConstants から継承されたフィールド |
|---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
| インタフェース java.awt.image.ImageObserver から継承されたフィールド |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| コンストラクタの概要 | |
|---|---|
DefaultTableCellRenderer()
デフォルトのテーブルセルレンダリングを作成します。 |
|
| メソッドの概要 | |
|---|---|
void |
firePropertyChange(String propertyName,
boolean oldValue,
boolean newValue)
パフォーマンス上の理由でオーバーライドされます。 |
protected void |
firePropertyChange(String propertyName,
Object oldValue,
Object newValue)
パフォーマンス上の理由でオーバーライドされます。 |
Component |
getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column)
デフォルトのテーブルセルレンダリングを返します。 |
void |
invalidate()
パフォーマンス上の理由でオーバーライドされます。 |
boolean |
isOpaque()
パフォーマンス上の理由でオーバーライドされます。 |
void |
repaint()
パフォーマンス上の理由でオーバーライドされます。 |
void |
repaint(long tm,
int x,
int y,
int width,
int height)
パフォーマンス上の理由でオーバーライドされます。 |
void |
repaint(Rectangle r)
パフォーマンス上の理由でオーバーライドされます。 |
void |
revalidate()
パフォーマンス上の理由でオーバーライドされます。 |
void |
setBackground(Color c)
JComponent.setBackground をオーバーライドして、未選択のバックグラウンドカラーに指定された色を割り当てます。 |
void |
setForeground(Color c)
JComponent.setForeground をオーバーライドして、未選択のフォアグラウンドカラーに指定された色を割り当てます。 |
protected void |
setValue(Object value)
描画されるセルの String オブジェクトを value に設定します。 |
void |
updateUI()
Look & Feel (L&F) が変更されたという UIManager からの通知です。 |
void |
validate()
パフォーマンス上の理由でオーバーライドされます。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| フィールドの詳細 |
|---|
protected static Border noFocusBorder
Border です。このフィールドは使用できないことがあります。このレンダラで使用される Border を変更するには、getTableCellRendererComponent メソッドをオーバーライドし、返されるコンポーネントのボーダーを直接設定します。
| コンストラクタの詳細 |
|---|
public DefaultTableCellRenderer()
| メソッドの詳細 |
|---|
public void setForeground(Color c)
JComponent.setForeground をオーバーライドして、未選択のフォアグラウンドカラーに指定された色を割り当てます。
JComponent 内の setForegroundc - この値のフォアグラウンドカラーを設定するComponent.getForeground()public void setBackground(Color c)
JComponent.setBackground をオーバーライドして、未選択のバックグラウンドカラーに指定された色を割り当てます。
JComponent 内の setBackgroundc - この値のバックグラウンドカラーを設定するComponent.getBackground(),
JComponent.setOpaque(boolean)public void updateUI()
UIManager からの通知です。現在の UI オブジェクトを UIManager の最新バージョンに置き換えます。
JLabel 内の updateUIJComponent.updateUI()
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column)
印刷操作中は、印刷結果に選択範囲やフォーカスが表示されるのを防ぐため、isSelected および hasFocus の値を false にしてこのメソッドを呼び出します。テーブルを印刷するかどうかに基づいてその他のカスタマイズを行うには、JComponent.isPaintingForPrint() の戻り値を確認します。
TableCellRenderer 内の getTableCellRendererComponenttable - JTablevalue - [row, column] のセルに割り当てる値isSelected - セルが選択されている場合は truehasFocus - フォーカスがある場合は truerow - 描画されるセルの行column - 描画されるセルの列
JComponent.isPaintingForPrint()public boolean isOpaque()
JComponent 内の isOpaqueJComponent.setOpaque(boolean)public void invalidate()
Container 内の invalidateContainer.validate(),
Container.layout(),
LayoutManager,
LayoutManager2.invalidateLayout(Container)public void validate()
Container 内の validateContainer.add(java.awt.Component),
Component.invalidate(),
JComponent.revalidate(),
Container.validateTree()public void revalidate()
JComponent 内の revalidateComponent.invalidate(),
Container.validate(),
JComponent.isValidateRoot(),
RepaintManager.addInvalidComponent(javax.swing.JComponent)
public void repaint(long tm,
int x,
int y,
int width,
int height)
JComponent 内の repainttm - このパラメータは使用されませんx - ダーティリージョンの x 座標y - ダーティリージョンの y 座標width - ダーティリージョンの幅height - ダーティリージョンの高さComponent.isShowing(),
RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)public void repaint(Rectangle r)
JComponent 内の repaintr - ダーティリージョンを含む RectangleComponent.isShowing(),
RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)public void repaint()
Component 内の repaintComponent.update(Graphics)
protected void firePropertyChange(String propertyName,
Object oldValue,
Object newValue)
Component 内の firePropertyChangepropertyName - 値が変更されたプロパティーoldValue - プロパティーの以前の値newValue - プロパティーの新しい値
public void firePropertyChange(String propertyName,
boolean oldValue,
boolean newValue)
JComponent 内の firePropertyChangepropertyName - 値が変更されたプロパティーoldValue - プロパティーの以前の値newValue - プロパティーの新しい値protected void setValue(Object value)
String オブジェクトを value に設定します。
value - このセルの文字列の値。
値が null の場合は、テキスト値を空の文字列にするJLabel.setText(java.lang.String)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。