|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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
|
クラス 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
コンストラクタの詳細 |
---|
public DefaultTableCellRenderer()
メソッドの詳細 |
---|
public void setForeground(Color c)
JComponent.setForeground
をオーバーライドして、未選択のフォアグラウンドカラーに指定された色を割り当てます。
JComponent
内の setForeground
c
- この値のフォアグラウンドカラーを設定するComponent.getForeground()
public void setBackground(Color c)
JComponent.setBackground
をオーバーライドして、未選択のバックグラウンドカラーに指定された色を割り当てます。
JComponent
内の setBackground
c
- この値のバックグラウンドカラーを設定するComponent.getBackground()
,
JComponent.setOpaque(boolean)
public void updateUI()
UIManager
からの通知です。現在の UI オブジェクトを UIManager
の最新バージョンに置き換えます。
JLabel
内の updateUI
JComponent.updateUI()
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
印刷操作中は、印刷結果に選択範囲やフォーカスが表示されるのを防ぐため、isSelected
および hasFocus
の値を false
にしてこのメソッドを呼び出します。テーブルを印刷するかどうかに基づいてその他のカスタマイズを行うには、JComponent.isPaintingForPrint()
の戻り値を確認します。
TableCellRenderer
内の getTableCellRendererComponent
table
- JTable
value
- [row, column]
のセルに割り当てる値isSelected
- セルが選択されている場合は truehasFocus
- フォーカスがある場合は truerow
- 描画されるセルの行column
- 描画されるセルの列
JComponent.isPaintingForPrint()
public boolean isOpaque()
JComponent
内の isOpaque
JComponent.setOpaque(boolean)
public void invalidate()
Container
内の invalidate
Container.validate()
,
Container.layout()
,
LayoutManager
,
LayoutManager2.invalidateLayout(Container)
public void validate()
Container
内の validate
Container.add(java.awt.Component)
,
Component.invalidate()
,
JComponent.revalidate()
,
Container.validateTree()
public void revalidate()
JComponent
内の revalidate
Component.invalidate()
,
Container.validate()
,
JComponent.isValidateRoot()
,
RepaintManager.addInvalidComponent(javax.swing.JComponent)
public void repaint(long tm, int x, int y, int width, int height)
JComponent
内の repaint
tm
- このパラメータは使用されないx
- ダーティリージョンの x 座標y
- ダーティリージョンの y 座標width
- ダーティリージョンの幅height
- ダーティリージョンの高さComponent.isShowing()
,
RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)
public void repaint(Rectangle r)
JComponent
内の repaint
r
- ダーティリージョンを含む Rectangle
Component.isShowing()
,
RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)
public void repaint()
Component
内の repaint
Component.update(Graphics)
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Component
内の firePropertyChange
propertyName
- 値が変更されたプロパティーoldValue
- プロパティーの以前の値newValue
- プロパティーの新しい値public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
JComponent
内の firePropertyChange
propertyName
- 値が変更されたプロパティーoldValue
- プロパティーの以前の値newValue
- プロパティーの新しい値protected void setValue(Object value)
String
オブジェクトを value
に設定します。
value
- このセルの文字列の値。 値が null
の場合は、テキスト値を空の文字列にするJLabel.setText(java.lang.String)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。