- すべての実装されたインタフェース:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,CellEditorListener
,ListSelectionListener
,RowSorterListener
,TableColumnModelListener
,TableModelListener
,Scrollable
JTable
は、セルの通常の2次元テーブルを表示および編集するために使用されます。 JTable
使用のタスク指向のマニュアルと例については、『The Java Tutorial』の「How to Use Tables」を参照してください。
JTable
は、そのレンダリングおよび編集をカスタマイズできるようにする多数の機能を備える一方で、こうした機能のデフォルトを提供して簡単なテーブルを容易に設定できるようにしています。 たとえば、10行10列から構成されるテーブルは次のように設定できます。
TableModel dataModel = new AbstractTableModel() { public int getColumnCount() { return 10; } public int getRowCount() { return 10;} public Object getValueAt(int row, int col) { return Integer.valueOf(row*col); } }; JTable table = new JTable(dataModel); JScrollPane scrollpane = new JScrollPane(table);
JTable
は通常、JScrollPane
の内部に配置されます。 デフォルトでは、水平スクロール・バーが必要ないようにJTable
がその幅を調整します。 水平スクロール・バーを使用できるようにするには、AUTO_RESIZE_OFF
でsetAutoResizeMode(int)
を呼び出します。 スタンドアロンのビュー(JScrollPane
の外側)内でJTable
を使用し、ヘッダーを表示する場合は、getTableHeader()
を使用してヘッダーを取得し、個別に表示できます。
行のソートおよびフィルタ・リングを可能にするには、RowSorter
を使用します。 行ソーターは、次の2種類の方法で設定できます。
RowSorter
を直接設定します。 たとえば、table.setRowSorter(new TableRowSorter(model))
です。autoCreateRowSorter
プロパティをtrue
に設定し、JTable
が自動的にRowSorter
を作成するようにします。 たとえば、setAutoCreateRowSorter(true)
です。
JTable
を使用するアプリケーションを設計する場合、テーブルのデータを表現するデータ構造に十分注意する必要があります。 DefaultTableModel
はObject
のVector
sのVector
を使用してセルの値を格納する実装のモデルです。 アプリケーションからDefaultTableModel
にデータをコピーするとともに、上記の例のとおり、データが直接JTable
に渡されるように、TableModel
インタフェースのメソッド内のデータをラップすることもできます。 これにより、モデルがデータにもっとも適した内部表現を自由に選択できることから、一層効果的なアプリケーションを作成できます。 AbstractTableModel
またはDefaultTableModel
のどちらを使用するかを決める大まかな指針では、サブクラスを作成するための基底クラスとしてAbstractTableModel
が使用され、サブクラス化が不要な場合にDefaultTableModel
が使用されます。
ソースとして配布されるdemo領域の「TableExample」ディレクトリは、多数のJTable
の使用方法に関する完全な例を提供します。この例には、データベースから取得するデータの編集可能なビューを提供するためにJTable
を使用する方法や、特殊なレンダリングやエディタを使用するためにディスプレイ内の列を変更する方法などがあります。
JTable
は整数型を排他的に使用して、それが表示するモデルの行と列をどちらも参照します。 JTable
は単に表形式範囲のセルを取得してgetValueAt(int, int)
を使用し、描画時にモデルから値を取り出します。 さまざまなJTable
メソッドから返される列インデックスと行インデックスはJTable
(ビュー)のものであり、モデルが使用するインデックスとは必ずしも同じではありません。
デフォルトでは、列はJTable
で配置しなおされて、ビューの列がモデル内の列とは異なる順番で表示されるようになります。 これは、モデルの実装にまったく影響を与えません。列の並替えを行うときは、JTable
は列の新しい順番を内部的に維持し、その列インデックスをモデルの照会前に変換します。
このため、TableModel
を記述するときは、ビューで何が起こっているかにかかわらずモデルはそれ自身の座標系で照会されるので、列並べ替えイベントに待機する必要はありません。 examples配下には、列ではなく行の順番を変更するもう1つの座標系を挿入するための、この方法を利用した並べ替えアルゴリズムのサンプルが用意されています。
同様に、RowSorter
から提供されるソート機能とフィルタリング機能を使用するときに、配下のTableModel
がソートの方法を把握している必要はありません。ソート処理は、RowSorter
によって行われます。 行ベースのJTable
メソッドと配下のTableModel
を使用する場合は、座標変換が必要になります。 行ベースのJTable
メソッドはすべてRowSorter
に関するものであり、配下のTableModel
のメソッドと必ずしも一致していません。 たとえば、選択は常にJTable
に関して行われるので、RowSorter
を使用するときは、convertRowIndexToView
またはconvertRowIndexToModel
を使用して変換する必要があります。 JTable
から配下のモデルに座標変換を行う方法を次に示します。
int[] selection = table.getSelectedRows(); for (int i = 0; i < selection.length; i++) { selection[i] = table.convertRowIndexToModel(selection[i]); } // selection is now in terms of the underlying TableModel
デフォルトでは、ソートが有効になっている場合、JTable
は、ソート時にモデルの選択内容と可変の行の高さを保持します。 たとえば配下のモデルの行0が現在選択されている場合は、ソート後も配下のモデルの行0が選択されます。 視覚的には選択内容が変更されている可能性がありますが、配下のモデルの選択内容は変わっていません。 例外は、モデル・インデックスが可視でなくなった場合や、削除された場合です。 たとえば、モデルの行0がフィルタされて表示されなくなった場合、ソート後に選択内容は空になります。
J2SE 5では、JTable
に、一般的な出力要求を実現できる便利なメソッドを追加しています。 新しいprint()
メソッドを使用するだけで、迅速かつ容易に出力機能をアプリケーションに追加できます。 また、さらに高度な出力要求には、新しいgetPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)
メソッドを使用できます。
すべてのJComponent
クラスに関しては、InputMap
とActionMap
を使用してAction
オブジェクトとKeyStroke
を関連付け、指定した条件でアクションを実行できます。
警告: Swingはスレッドに対して安全ではありません。 詳細は、「Swing's Threading Policy」を参照してください。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beans
パッケージに追加されました。 XMLEncoder
を参照してください。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
ネストされたクラスのサマリー
修飾子と型クラス説明protected class
このクラスはJTable
クラスのアクセシビリティ・サポートを実装しています。static final class
TransferHandler.DropLocation
のサブクラスであり、JTable
のドロップ位置を表します。static enum
JTable
の出力に使用する出力モードです。クラス javax.swing.JComponentで宣言されたネストされたクラス/インタフェース
JComponent.AccessibleJComponent
クラス java.awt.Containerで宣言されたネストされたクラス/インタフェース
Container.AccessibleAWTContainer
クラス java.awt.Componentで宣言されたネストされたクラス/インタフェース
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
フィールドのサマリー
修飾子と型フィールド説明static final int
すべてのサイズ変更操作で、各列を均等にサイズ変更します。static final int
すべてのサイズ変更操作で、最終列だけに調整を適用します。static final int
列をUIで調整するときは、次の列を逆方向に調整します。static final int
列幅の調整は自動的に行わず、代わりに水平スクロール・バーを使います。static final int
UIを調整するときは、それ以降の列を変更して列の合計幅を維持します。これはデフォルトの動作です。protected boolean
trueの場合、列のデフォルト・セットを構築するためにTableModel
を照会します。protected int
テーブルが幅のサイズを自動変更して各列でテーブル幅全体を占めるようにするかどうかを指定し、そのサイズ変更の方法を指定します。protected TableCellEditor
現在のセルが占める画面上の場所を上書きし、ユーザーがその内容を変更できるようにするアクティブなセル・エディタ・オブジェクトです。protected boolean
Java 2プラットフォームv1.3では使用しません。protected TableColumnModel
テーブルのTableColumnModel
。protected TableModel
テーブルのTableModel
。セルの内容を表示および編集するオブジェクトのテーブルです。TableModel
インタフェースのgetColumnClass
で宣言されたクラスによるインデックスが付いています。セルの内容を表示するオブジェクトのテーブルです。TableModel
インタフェースのgetColumnClass
で宣言されたクラスによるインデックスが付いています。protected int
編集中のセルの列を識別します。protected int
編集中のセルの行を識別します。protected Component
編集時であれば、編集を処理しているComponent
です。protected Color
グリッドの色です。protected Dimension
Scrollable
インタフェースによって使われ、初期可視領域を判定します。protected int
テーブルの各行の高さをピクセルで表したものです。protected int
各行のセル間のマージンの高さをピクセルで表したものです。protected boolean
このテーブルで行選択が許可されている場合、trueです。protected Color
選択されたセルのバックグラウンド・カラー。protected Color
選択されたセルのフォアグラウンド・カラー。protected ListSelectionModel
行選択を追跡するのに使用される、テーブルのListSelectionModel
です。protected boolean
showHorizontalLines
がtrueの場合、テーブルはセル間に水平線を描画します。protected boolean
showVerticalLines
がtrueの場合、テーブルはセル間に垂直線を描画します。protected JTableHeader
テーブルのTableHeader
です。クラス javax.swing.JComponentで宣言されたフィールド
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
クラス java.awt.Componentで宣言されたフィールド
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
インタフェース java.awt.image.ImageObserverで宣言されたフィールド
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
コンストラクタのサマリー
コンストラクタ説明JTable()
デフォルト・データ・モデル、デフォルト列モデル、およびデフォルト選択モデルを使用して初期化される、デフォルトのJTable
を構築します。JTable
(int numRows, int numColumns) DefaultTableModel
を使用して、numRows
行とnumColumns
列の空のセルを持つJTable
を構築します。2次元配列rowData
の値を列名columnNames
を使って表示するJTable
を構築します。Vectors
のVector
の値を表示するJTable
、つまりrowData
を、列名columnNames
で構築します。JTable
(TableModel dm) データ・モデルdm
、デフォルト列モデル、およびデフォルト選択モデルを使用して初期化されるJTable
を構築します。JTable
(TableModel dm, TableColumnModel cm) データ・モデルdm
、列モデルcm
、およびデフォルト選択モデルを使用して初期化されるJTable
を構築します。JTable
(TableModel dm, TableColumnModel cm, ListSelectionModel sm) データ・モデルdm
、列モデルcm
、および選択モデルsm
を使用して初期化されるJTable
を構築します。 -
メソッドのサマリー
修飾子と型メソッド説明void
addColumn
(TableColumn aColumn) このJTable
の列モデルが保持する列の配列の末尾にaColumn
を追加します。void
addColumnSelectionInterval
(int index0, int index1) index0
からindex1
までの列(上下限値を含む)を現在の選択領域に追加します。void
configureEnclosingScrollPane
メソッドを呼び出します。void
addRowSelectionInterval
(int index0, int index1) index0
からindex1
までの行(上下限値を含む)を現在の選択領域に追加します。void
changeSelection
(int rowIndex, int columnIndex, boolean toggle, boolean extend) toggle
とextend
の2つのフラグの状態によって、テーブルの選択モデルを更新します。void
選択されているすべての列および行を選択解除します。void
テーブル列モデルに列が追加されるときに呼び出されます。int
columnAtPoint
(Point point) point
がある列のインデックスを返します。もし、その結果が[0,getColumnCount()
-1]の範囲内にない場合は -1を返します。void
マージンの変更のために列が移動されるときに呼び出されます。void
列が再配置されると呼び出されます。void
列がテーブル列モデルから削除されるときに呼び出されます。void
TableColumnModel
の選択モデルが変更されるときに呼び出されます。protected void
通常はこのJTable
が囲み側JScrollPane
のviewportView
ですが、その場合、特にテーブルのtableHeader
をスクロール・ペインのcolumnHeaderView
としてインストールすることによって、このScrollPane
を設定します。int
convertColumnIndexToModel
(int viewColumnIndex) viewColumnIndex
のビュー内の列のインデックスを、テーブル・モデル内の列のインデックスにマッピングします。int
convertColumnIndexToView
(int modelColumnIndex) modelColumnIndex
のテーブル・モデル内の列のインデックスを、ビュー内の列のインデックスにマッピングします。int
convertRowIndexToModel
(int viewRowIndex) ビューの行のインデックスをベースとなるTableModel
にマッピングします。int
convertRowIndexToView
(int modelRowIndex) TableModel
の行のインデックスをビューにマッピングします。protected TableColumnModel
DefaultTableColumnModel
であるデフォルトの列モデル・オブジェクトを返します。void
このメソッドはTableModel
インタフェースに定義されたgetColumnCount
メソッドを使って、データ・モデルからテーブルのデフォルトの列を作成します。protected TableModel
DefaultTableModel
であるデフォルトのテーブル・モデル・オブジェクトを返します。protected void
オブジェクト、数、およびboolean値のデフォルトのセル・エディタを作成します。protected void
オブジェクト、数、double値、日付、boolean値、およびアイコンのデフォルトのセル・レンダリングを作成します。protected ListSelectionModel
DefaultListSelectionModel
であるデフォルトの選択モデル・オブジェクトを返します。protected JTableHeader
JTableHeader
であるデフォルトのテーブル・ヘッダー・オブジェクトを返します。static JScrollPane
createScrollPaneForTable
(JTable aTable) 非推奨。void
doLayout()
このテーブルに行と列をレイアウトさせます。boolean
editCellAt
(int row, int column) row
、column
に位置するセルのインデックスが有効な範囲内にあり、その位置にあるセルが編集可能な場合は、セルの編集をプログラムによって開始します。boolean
editCellAt
(int row, int column, EventObject e) row
、column
に位置するセルのインデックスが有効な範囲内にあり、その位置にあるセルが編集可能な場合は、セルの編集をプログラムによって開始します。void
編集が取り消されると呼び出されます。void
編集が完了したときに呼び出されます。このJTableに関連付けられたAccessibleContextを取得します。boolean
テーブルがデフォルトの列をモデルから作成するかどうかを指定します。boolean
モデルが変更されるたびに新しいRowSorter
を作成し、テーブルのソーターとしてインストールする場合はtrue
、それ以外の場合はfalse
を返します。int
テーブルの自動サイズ変更モードを返します。アクティブなセル・エディタ(テーブルが現在編集中でない場合はnull
)を返します。getCellEditor
(int row, int column) row
とcolumn
によって指定されるセルの適切なエディタを返します。getCellRect
(int row, int column, boolean includeSpacing) row
とcolumn
が交差する位置のセルの矩形を返します。getCellRenderer
(int row, int column) この行と列で指定するセルの適切なレンダリングを返します。boolean
行選択モデルと列選択モデルの両方が可能な場合はtrueを返します。equals
を使って比較した場合に識別子がidentifier
に等しい、テーブル内の列のTableColumn
オブジェクトを返します。Class<?>
getColumnClass
(int column) ビューの列位置column
に表示される列の型を返します。int
列モデル内の列数を返します。このテーブルのすべての列情報を保持するTableColumnModel
を返します。getColumnName
(int column) ビューの列位置column
に表示される列の名前を返します。boolean
列が選択できる場合はtrueを返します。getDefaultEditor
(Class<?> columnClass) TableColumn
にエディタが設定されていない場合に使用するエディタを返します。getDefaultRenderer
(Class<?> columnClass) TableColumn
にレンダラが設定されていない場合に使用する、セル・レンダラを返します。boolean
自動ドラッグ処理が有効であるかどうかを返します。final JTable.DropLocation
このコンポーネントがコンポーネントのドラッグ・アンド・ドロップ時にドロップ位置として視覚的に示す位置を返します。現在位置が表示されていない場合はnull
を返します。final DropMode
このコンポーネントのドロップ・モードを返します。int
現在編集中のセルを含む列のインデックスを返します。int
現在編集中のセルを含む行のインデックスを返します。編集セッションを処理しているコンポーネントを返します。boolean
このテーブルを常に囲み側のビュー・ポートの高さに合わせて大きくするかどうかを返します。グリッド線の描画に使用する色を返します。セル間の水平間隔と垂直間隔を返します。getModel()
このJTable
が表示するデータを提供するTableModel
を返します。このテーブルのビュー・ポートの適切なサイズを返します。getPrintable
(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat) このJTableの印刷に使用するPrintable
を返します。int
スペースに制限がない場合、JTable
に表示できる行数を返します。int
テーブル行の高さをピクセルで返します。int
getRowHeight
(int row) row
のセルの高さをピクセル単位で返します。int
セルの間隔をピクセル単位で返します。boolean
行を選択できる場合にtrueを返します。RowSorter<? extends TableModel>
ソート処理を行うオブジェクトを返します。int
getScrollableBlockIncrement
(Rectangle visibleRect, int orientation, int direction) このテーブルの方向によってvisibleRect.height
またはvisibleRect.width
を返します。boolean
getFillsViewportHeight
がtrue
で、テーブルの適切な高さがビュー・ポートの高さより低い場合を除き、false
を返して、ビュー・ポートの高さがテーブルの高さを決めないことを示します。boolean
autoResizeMode
がAUTO_RESIZE_OFF
に設定されている場合はfalseを返します。これはビュー・ポートの幅がテーブルの幅を決定しないことを示します。int
getScrollableUnitIncrement
(Rectangle visibleRect, int orientation, int direction) 新しい1行または1列を完全に表示するスクロール増分値を(方向に基づいて)ピクセル単位で返します。int
最初に選択された列のインデックスを返すか、列が選択されていない場合は -1を返します。int
選択されている列の数を返します。int[]
選択されたすべての列のインデックスを返します。int
最初に選択された行のインデックスを返すか、行が選択されていない場合は -1を返します。int
選択された行数を返します。int[]
選択されたすべての行のインデックスを返します。選択されたセルのバックグラウンド・カラーを返します。選択されているセルのフォアグラウンド・カラーを返します。行選択状態を維持するのに使うListSelectionModel
を返します。boolean
テーブルがセル間に水平線を描画する場合はtrue、描画しない場合はfalseを返します。boolean
テーブルがセル間に垂直線を描画する場合はtrue、描画しない場合はfalseを返します。boolean
キーボードがエディタをアクティブ化したときにエディタがフォーカスを取得する場合はtrueを返します。このJTable
によって使用されるtableHeader
を返します。getToolTipText
(MouseEvent event) JComponent
のgetToolTipText
メソッドをオーバーライドして、テキスト・セットがある場合にレンダリングのヒントを使用できるようにします。getUI()
このコンポーネントをレンダリングするL&Fオブジェクトを返します。L&Fクラスの名前の構築に使用された接尾辞を返します。このクラスは、このコンポーネントをレンダリングするのに使用されます。boolean
ソート後、選択内容を更新する場合はtrueを返します。getValueAt
(int row, int column) row
、column
に位置するセル値を返します。protected void
各テーブル・プロパティをデフォルト値に初期化します。boolean
isCellEditable
(int row, int column) row
およびcolumn
に位置するセルが編集可能な場合にtrueを返します。boolean
isCellSelected
(int row, int column) 指定されたインデックスが有効な行および列の範囲内にあり、指定された位置にあるセルが選択されている場合はtrueを返します。boolean
isColumnSelected
(int column) 指定されたインデックスが有効な列の範囲内にあり、そのインデックスで示される列が選択されている場合はtrueを返します。boolean
セルを編集中の場合はtrueを返します。boolean
isRowSelected
(int row) 指定されたインデックスが有効な行の範囲内にあり、そのインデックスで示される行が選択されている場合はtrueを返します。void
moveColumn
(int column, int targetColumn) column
の列を、ビュー内のtargetColumn
の列が現在占める位置に移動します。protected String
このテーブルの文字列表現を返します。prepareEditor
(TableCellEditor editor, int row, int column) row
、column
の位置にあるセルの値および選択状態をデータ・モデルに照会して、エディタを準備します。prepareRenderer
(TableCellRenderer renderer, int row, int column) row
、column
の位置にあるセルの値および選択状態をデータ・モデルに照会して、レンダラを準備します。boolean
print()
印刷ダイアログを表示し、このJTable
を、PrintMode.FIT_WIDTH
モードで、ヘッダー・テキストまたはフッター・テキストを指定せずに印刷する簡易メソッドです。boolean
print
(JTable.PrintMode printMode) 印刷ダイアログを表示し、このJTable
を、指定された印刷モードで、ヘッダー・テキストまたはフッター・テキストを指定せずに印刷する簡易メソッドです。boolean
print
(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat) 印刷ダイアログを表示し、このJTable
を、指定された印刷モードで、ヘッダー・テキストまたはフッター・テキストを指定して印刷する簡易メソッドです。boolean
print
(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive) 完全指定のprint
メソッドで指定されているとおりに、印刷サービスとして指定されたデフォルト・プリンタを使って、この表を印刷します。boolean
print
(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive, PrintService service) このJTable
を印刷します。void
removeColumn
(TableColumn aColumn) このJTable
の列配列からaColumn
を削除します。void
removeColumnSelectionInterval
(int index0, int index1) index0
からindex1
までの列(上下限値を含む)の選択を解除します。void
エディタ・オブジェクトを破棄して、そのオブジェクトがセル・レンダリングに使った場所を解放します。void
unconfigureEnclosingScrollPane
メソッドを呼び出します。void
removeRowSelectionInterval
(int index0, int index1) index0
からindex1
までの行(上下限値を含む)の選択を解除します。protected void
revalidate
の後にrepaint
を呼び出すのと同等です。int
rowAtPoint
(Point point) point
がある行のインデックスを返します。もし、その結果が[0,getRowCount()
-1]の範囲内にない場合は -1を返します。void
テーブルのすべての行、列、およびセルを選択します。void
setAutoCreateColumnsFromModel
(boolean autoCreateColumnsFromModel) このテーブルのautoCreateColumnsFromModel
フラグを設定します。void
setAutoCreateRowSorter
(boolean autoCreateRowSorter) モデルが変更されるたびにテーブルのRowSorter
を作成するかどうかを指定します。void
setAutoResizeMode
(int mode) テーブルのサイズ変更時にテーブルの自動サイズ変更モードを設定します。void
setCellEditor
(TableCellEditor anEditor) アクティブなセル・エディタを設定します。void
setCellSelectionEnabled
(boolean cellSelectionEnabled) 列選択と行選択の同時実行をこのテーブルが許可するかどうかを設定します。void
setColumnModel
(TableColumnModel columnModel) この表の列モデルをcolumnModel
に設定し、新しい列モデルからのリスナー通知を登録します。void
setColumnSelectionAllowed
(boolean columnSelectionAllowed) このモデルの列を選択できるかどうかを設定します。void
setColumnSelectionInterval
(int index0, int index1) index0
からindex1
までの列(上下限値を含む)を選択します。void
setDefaultEditor
(Class<?> columnClass, TableCellEditor editor) TableColumn
にエディタが設定されていない場合に使用する、デフォルトのセル・エディタを設定します。void
setDefaultRenderer
(Class<?> columnClass, TableCellRenderer renderer) TableColumn
にレンダラが設定されていない場合に使用する、デフォルトのセル・レンダラを設定します。void
setDragEnabled
(boolean b) 自動ドラッグ処理をオンまたはオフにします。final void
setDropMode
(DropMode dropMode) このコンポーネントのドロップ・モードを設定します。void
setEditingColumn
(int aColumn) editingColumn
変数を設定します。void
setEditingRow
(int aRow) editingRow
変数を設定します。void
setFillsViewportHeight
(boolean fillsViewportHeight) このテーブルを常に囲み側のビュー・ポートの高さに合わせて大きくするかどうかを設定します。void
setGridColor
(Color gridColor) グリッド線の描画に使用する色をgridColor
に設定し、再表示します。void
setIntercellSpacing
(Dimension intercellSpacing) rowMargin
とcolumnMargin
、つまりセル間のスペースの高さと幅を、intercellSpacing
に設定します。void
setModel
(TableModel dataModel) この表のデータ・モデルをdataModel
に設定し、新しいデータ・モデルからのリスナー通知用に登録します。void
このテーブルのビュー・ポートの適切なサイズを設定します。void
setRowHeight
(int rowHeight) すべてのセルの高さをピクセル単位でrowHeight
に設定し、再検証してペイントし直します。void
setRowHeight
(int row, int rowHeight) row
の高さをrowHeight
に設定し、再検証してペイントし直します。void
setRowMargin
(int rowMargin) 隣接する行のセルの間隔を設定します。void
setRowSelectionAllowed
(boolean rowSelectionAllowed) このモデルの行を選択できるかどうかを設定します。void
setRowSelectionInterval
(int index0, int index1) index0
からindex1
までの行(上下限値を含む)を選択します。void
setRowSorter
(RowSorter<? extends TableModel> sorter) RowSorter
を設定します。void
setSelectionBackground
(Color selectionBackground) 選択されたセルのバックグラウンド・カラーを設定します。void
setSelectionForeground
(Color selectionForeground) 選択されたセルのフォアグラウンド・カラーを設定します。void
setSelectionMode
(int selectionMode) テーブルの選択モードを設定すると、単一項目選択、連続区間の選択、または連続区間の複数選択を可能にできます。void
setSelectionModel
(ListSelectionModel selectionModel) この表の行選択モデルをselectionModel
に設定し、新しい選択モデルからのリスナー通知を登録します。void
setShowGrid
(boolean showGrid) テーブルがセルの周囲にグリッド線を描画するかどうかを設定します。void
setShowHorizontalLines
(boolean showHorizontalLines) テーブルがセル間に水平線を描画するかどうかを設定します。void
setShowVerticalLines
(boolean showVerticalLines) テーブルがセル間に垂直線を描画するかどうかを設定します。void
setSurrendersFocusOnKeystroke
(boolean surrendersFocusOnKeystroke) JTableがセルのキーボード・イベントを転送した結果として、このJTableのエディタがキーボード・フォーカスを取得するかどうかを設定します。void
setTableHeader
(JTableHeader tableHeader) このJTable
のtableHeader
をnewHeader
に設定します。void
このコンポーネントをレンダリングしてペイントしなおすL&Fオブジェクトを設定します。void
setUpdateSelectionOnSort
(boolean update) ソート後、選択内容を更新するかどうかを指定します。void
setValueAt
(Object aValue, int row, int column) テーブル・モデル内のrow
、column
に位置するセルの値を設定します。void
sizeColumnsToFit
(boolean lastColumnOnly) 非推奨。Swing version 1.0.3以降は、doLayout()
に置き換えられています。void
sizeColumnsToFit
(int resizingColumn) Java 2プラットフォームv1.4では使用しません。void
RowSorter
が変更されたことを知らせるRowSorterListener
通知です。void
このテーブルのTableModel
がTableModelEvent
を生成するときに呼び出されます。protected void
囲み側のスクロール・ペインのcolumnHeaderView
をnull
に置き換えることによって、configureEnclosingScrollPane
の効果を取り消します。void
updateUI()
L&Fが変更されたことを示す、UIManager
からの通知です。void
行の選択領域が変更されたときに呼び出され、ペイントし直して新しい選択領域を示します。クラス javax.swing.JComponentで宣言されたメソッド
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
クラス java.awt.Containerで宣言されたメソッド
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
クラス java.awt.Componentで宣言されたメソッド
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
フィールド詳細
-
AUTO_RESIZE_OFF
public static final int AUTO_RESIZE_OFF列幅の調整は自動的に行わず、代わりに水平スクロール・バーを使います。- 関連項目:
-
AUTO_RESIZE_NEXT_COLUMN
public static final int AUTO_RESIZE_NEXT_COLUMN列をUIで調整するときは、次の列を逆方向に調整します。- 関連項目:
-
AUTO_RESIZE_SUBSEQUENT_COLUMNS
public static final int AUTO_RESIZE_SUBSEQUENT_COLUMNSUIを調整するときは、それ以降の列を変更して列の合計幅を維持します。これはデフォルトの動作です。- 関連項目:
-
AUTO_RESIZE_LAST_COLUMN
public static final int AUTO_RESIZE_LAST_COLUMNすべてのサイズ変更操作で、最終列だけに調整を適用します。- 関連項目:
-
AUTO_RESIZE_ALL_COLUMNS
public static final int AUTO_RESIZE_ALL_COLUMNSすべてのサイズ変更操作で、各列を均等にサイズ変更します。- 関連項目:
-
dataModel
protected TableModel dataModelテーブルのTableModel
。 -
columnModel
protected TableColumnModel columnModelテーブルのTableColumnModel
。 -
selectionModel
protected ListSelectionModel selectionModel行選択を追跡するのに使用される、テーブルのListSelectionModel
です。 -
tableHeader
protected JTableHeader tableHeaderテーブルのTableHeader
です。 -
rowHeight
protected int rowHeightテーブルの各行の高さをピクセルで表したものです。 -
rowMargin
protected int rowMargin各行のセル間のマージンの高さをピクセルで表したものです。 -
gridColor
protected Color gridColorグリッドの色です。 -
showHorizontalLines
protected boolean showHorizontalLinesshowHorizontalLines
がtrueの場合、テーブルはセル間に水平線を描画します。 -
showVerticalLines
protected boolean showVerticalLinesshowVerticalLines
がtrueの場合、テーブルはセル間に垂直線を描画します。 -
autoResizeMode
protected int autoResizeModeテーブルが幅のサイズを自動変更して各列でテーブル幅全体を占めるようにするかどうかを指定し、そのサイズ変更の方法を指定します。 -
autoCreateColumnsFromModel
protected boolean autoCreateColumnsFromModeltrueの場合、列のデフォルト・セットを構築するためにTableModel
を照会します。 -
preferredViewportSize
protected Dimension preferredViewportSizeScrollable
インタフェースによって使われ、初期可視領域を判定します。 -
rowSelectionAllowed
protected boolean rowSelectionAllowedこのテーブルで行選択が許可されている場合、trueです。 -
cellSelectionEnabled
protected boolean cellSelectionEnabledJava 2プラットフォームv1.3では使用しません。 代わりにcolumnModel
のrowSelectionAllowed
プロパティおよびcolumnSelectionAllowed
プロパティを使用してください。 またはgetCellSelectionEnabled
メソッドを使用してください。 -
editorComp
protected transient Component editorComp編集時であれば、編集を処理しているComponent
です。 -
cellEditor
protected transient TableCellEditor cellEditor現在のセルが占める画面上の場所を上書きし、ユーザーがその内容を変更できるようにするアクティブなセル・エディタ・オブジェクトです。テーブルが現在編集中でない場合はnull
になります。 -
editingColumn
protected transient int editingColumn編集中のセルの列を識別します。 -
editingRow
protected transient int editingRow編集中のセルの行を識別します。 -
defaultRenderersByColumnClass
セルの内容を表示するオブジェクトのテーブルです。TableModel
インタフェースのgetColumnClass
で宣言されたクラスによるインデックスが付いています。 -
defaultEditorsByColumnClass
セルの内容を表示および編集するオブジェクトのテーブルです。TableModel
インタフェースのgetColumnClass
で宣言されたクラスによるインデックスが付いています。 -
selectionForeground
protected Color selectionForeground選択されたセルのフォアグラウンド・カラー。 -
selectionBackground
protected Color selectionBackground選択されたセルのバックグラウンド・カラー。
-
-
コンストラクタの詳細
-
JTable
public JTable()デフォルト・データ・モデル、デフォルト列モデル、およびデフォルト選択モデルを使用して初期化される、デフォルトのJTable
を構築します。 -
JTable
public JTable(TableModel dm) データ・モデルdm
、デフォルト列モデル、およびデフォルト選択モデルを使用して初期化されるJTable
を構築します。- パラメータ:
dm
- テーブルのデータ・モデル- 関連項目:
-
JTable
public JTable(TableModel dm, TableColumnModel cm) データ・モデルdm
、列モデルcm
、およびデフォルト選択モデルを使用して初期化されるJTable
を構築します。- パラメータ:
dm
- テーブルのデータ・モデルcm
- テーブルの列モデル- 関連項目:
-
JTable
public JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm) データ・モデルdm
、列モデルcm
、および選択モデルsm
を使用して初期化されるJTable
を構築します。 パラメータのいずれかがnull
の場合、このメソッドは対応するデフォルト・モデルでテーブルを初期化します。autoCreateColumnsFromModel
フラグはcm
がnull以外の場合はfalseに、そうでない場合はtrueに設定され、列モデルにはdm
内の列に適したTableColumns
が入ります。- パラメータ:
dm
- テーブルのデータ・モデルcm
- テーブルの列モデルsm
- テーブルの行選択モデル- 関連項目:
-
JTable
public JTable(int numRows, int numColumns) DefaultTableModel
を使用して、numRows
行とnumColumns
列の空のセルを持つJTable
を構築します。 列は、「A」、「B」、「C」といった形式の名前を持ちます。- パラメータ:
numRows
- テーブルが保持する行数numColumns
- テーブルが保持する列数- 関連項目:
-
JTable
Vectors
のVector
の値を表示するJTable
、つまりrowData
を、列名columnNames
で構築します。rowData
に格納されたVectors
は、その行の値を保持する必要があります。 つまり、行1、列5に位置するセルの値は次のコードで取得できます。((Vector)rowData.elementAt(1)).elementAt(5);
- パラメータ:
rowData
- 新しいテーブルのデータcolumnNames
- 各列の名前
-
JTable
2次元配列rowData
の値を列名columnNames
を使って表示するJTable
を構築します。rowData
は行の配列なので、行1、列5に位置するセルの値は次のコードで取得できます。rowData[1][5];
すべての行は、
columnNames
と同じ長さである必要があります。- パラメータ:
rowData
- 新しいテーブルのデータcolumnNames
- 各列の名前
-
-
メソッドの詳細
-
addNotify
public void addNotify()configureEnclosingScrollPane
メソッドを呼び出します。- オーバーライド:
addNotify
、クラスJComponent
- 関連項目:
-
configureEnclosingScrollPane
protected void configureEnclosingScrollPane()通常はこのJTable
が囲み側JScrollPane
のviewportView
ですが、その場合、特にテーブルのtableHeader
をスクロール・ペインのcolumnHeaderView
としてインストールすることによって、このScrollPane
を設定します。new JScrollPane(myTable)
を使用して通常の方法でJTable
をJScrollPane
に追加すると、JTable
で(表がビューポートに追加されるときに)addNotify
が呼び出されます。 次に、JTable
のaddNotify
メソッドがこのメソッドを呼び出します。このメソッドは、サブクラスがこのデフォルトのインストール・プロシージャをオーバーライドできるように保護されています。- 関連項目:
-
removeNotify
public void removeNotify()unconfigureEnclosingScrollPane
メソッドを呼び出します。- オーバーライド:
removeNotify
、クラスJComponent
- 関連項目:
-
unconfigureEnclosingScrollPane
protected void unconfigureEnclosingScrollPane()囲み側のスクロール・ペインのcolumnHeaderView
をnull
に置き換えることによって、configureEnclosingScrollPane
の効果を取り消します。JTable
のremoveNotify
メソッドがこのメソッドを呼び出します。このメソッドは、サブクラスがこのデフォルトのアンインストール・プロシージャをオーバーライドできるように保護されています。- 導入されたバージョン:
- 1.3
- 関連項目:
-
createScrollPaneForTable
@Deprecated public static JScrollPane createScrollPaneForTable(JTable aTable) 非推奨。Swing version 1.0.2以降は、new JScrollPane(aTable)
に置き換えられています。new JScrollPane(aTable)
と同等です。- パラメータ:
aTable
- スクロール・ペインに使用されるJTable
- 戻り値:
aTable
を使用して作成されたJScrollPane
-
setTableHeader
@BeanProperty(description="The JTableHeader instance which renders the column headers.") public void setTableHeader(JTableHeader tableHeader) このJTable
のtableHeader
をnewHeader
に設定します。null
のtableHeader
は有効です。- パラメータ:
tableHeader
- 新しいtableHeader- 関連項目:
-
getTableHeader
public JTableHeader getTableHeader()このJTable
によって使用されるtableHeader
を返します。- 戻り値:
- このテーブルが使用する
tableHeader
- 関連項目:
-
setRowHeight
@BeanProperty(description="The height of the specified row.") public void setRowHeight(int rowHeight) すべてのセルの高さをピクセル単位でrowHeight
に設定し、再検証してペイントし直します。 セルの高さは、行の高さから行マージンを引いた値になります。- パラメータ:
rowHeight
- 新しい行の高さ- 例外:
IllegalArgumentException
-rowHeight
が1より小さい場合- 関連項目:
-
getRowHeight
public int getRowHeight()テーブル行の高さをピクセルで返します。- 戻り値:
- ピクセル単位のテーブル行の高さ
- 関連項目:
-
setRowHeight
@BeanProperty(description="The height in pixels of the cells in <code>row</code>") public void setRowHeight(int row, int rowHeight) row
の高さをrowHeight
に設定し、再検証してペイントし直します。 この行のセルの高さは、行の高さから行マージンを引いたものです。- パラメータ:
row
- 高さが変更される行rowHeight
- ピクセル単位での新しい行の高さ- 例外:
IllegalArgumentException
-rowHeight
が1より小さい場合- 導入されたバージョン:
- 1.3
-
getRowHeight
public int getRowHeight(int row) row
のセルの高さをピクセル単位で返します。- パラメータ:
row
- 高さが返される行- 戻り値:
- ピクセル単位での行のセルの高さ
- 導入されたバージョン:
- 1.3
-
setRowMargin
@BeanProperty(description="The amount of space between cells.") public void setRowMargin(int rowMargin) 隣接する行のセルの間隔を設定します。- パラメータ:
rowMargin
- 行のセル間のピクセル数- 関連項目:
-
getRowMargin
public int getRowMargin()セルの間隔をピクセル単位で返します。getIntercellSpacing().height
と同等です。- 戻り値:
- 行のセル間のピクセル数
- 関連項目:
-
setIntercellSpacing
@BeanProperty(bound=false, description="The spacing between the cells, drawn in the background color of the JTable.") public void setIntercellSpacing(Dimension intercellSpacing) rowMargin
とcolumnMargin
、つまりセル間のスペースの高さと幅を、intercellSpacing
に設定します。- パラメータ:
intercellSpacing
- セル間の新しい幅と高さを指定するDimension
- 関連項目:
-
getIntercellSpacing
public Dimension getIntercellSpacing()セル間の水平間隔と垂直間隔を返します。 デフォルトの間隔はルック・アンド・フィールに依存します。- 戻り値:
- セル間の水平間隔と垂直間隔
- 関連項目:
-
setGridColor
@BeanProperty(description="The grid color.") public void setGridColor(Color gridColor) グリッド線の描画に使用する色をgridColor
に設定し、再表示します。 デフォルトの色はルック・アンド・フィールに依存します。- パラメータ:
gridColor
- グリッド線の新しい色- 例外:
IllegalArgumentException
-gridColor
がnull
である場合- 関連項目:
-
getGridColor
public Color getGridColor()グリッド線の描画に使用する色を返します。 デフォルトの色はルック・アンド・フィールに依存します。- 戻り値:
- グリッド線を描画するのに使う色
- 関連項目:
-
setShowGrid
@BeanProperty(description="The color used to draw the grid lines.") public void setShowGrid(boolean showGrid) テーブルがセルの周囲にグリッド線を描画するかどうかを設定します。showGrid
がtrueの場合は描画し、falseの場合は描画しません。 この状態はそれぞれが別々に照会されるshowHorizontalLines
とshowVerticalLines
という2つの変数で保持されるので、getShowGrid
メソッドはありません。- パラメータ:
showGrid
- テーブル・ビューがグリッド線を描画する場合はtrue- 関連項目:
-
setShowHorizontalLines
@BeanProperty(description="Whether horizontal lines should be drawn in between the cells.") public void setShowHorizontalLines(boolean showHorizontalLines) テーブルがセル間に水平線を描画するかどうかを設定します。showHorizontalLines
がtrueの場合は描画し、falseの場合は描画しません。- パラメータ:
showHorizontalLines
- テーブル・ビューが水平線を描画する場合はtrue- 関連項目:
-
setShowVerticalLines
@BeanProperty(description="Whether vertical lines should be drawn in between the cells.") public void setShowVerticalLines(boolean showVerticalLines) テーブルがセル間に垂直線を描画するかどうかを設定します。showVerticalLines
がtrueの場合は描画し、falseの場合は描画しません。- パラメータ:
showVerticalLines
- テーブル・ビューが垂直線を描画する場合はtrue- 関連項目:
-
getShowHorizontalLines
public boolean getShowHorizontalLines()テーブルがセル間に水平線を描画する場合はtrue、描画しない場合はfalseを返します。 デフォルト値はルック・アンド・フィールに依存します。- 戻り値:
- テーブルがセル間に水平線を描画する場合はtrue、描画しない場合はfalse
- 関連項目:
-
getShowVerticalLines
public boolean getShowVerticalLines()テーブルがセル間に垂直線を描画する場合はtrue、描画しない場合はfalseを返します。 デフォルト値はルック・アンド・フィールに依存します。- 戻り値:
- テーブルがセル間に垂直線を描画する場合はtrue、描画しない場合はfalse
- 関連項目:
-
setAutoResizeMode
@BeanProperty(enumerationValues={"JTable.AUTO_RESIZE_OFF","JTable.AUTO_RESIZE_NEXT_COLUMN","JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS","JTable.AUTO_RESIZE_LAST_COLUMN","JTable.AUTO_RESIZE_ALL_COLUMNS"}, description="Whether the columns should adjust themselves automatically.") public void setAutoResizeMode(int mode) テーブルのサイズ変更時にテーブルの自動サイズ変更モードを設定します。 さまざまなサイズ変更モードの動作の詳細については、doLayout()
を参照してください。- パラメータ:
mode
- 次の5つの有効値のいずれか。AUTO_RESIZE_OFF、AUTO_RESIZE_NEXT_COLUMN、AUTO_RESIZE_SUBSEQUENT_COLUMNS、AUTO_RESIZE_LAST_COLUMN、AUTO_RESIZE_ALL_COLUMNS- 関連項目:
-
getAutoResizeMode
public int getAutoResizeMode()テーブルの自動サイズ変更モードを返します。 デフォルト・モードはAUTO_RESIZE_SUBSEQUENT_COLUMNSです。- 戻り値:
- テーブルのautoResizeMode
- 関連項目:
-
setAutoCreateColumnsFromModel
@BeanProperty(description="Automatically populates the columnModel when a new TableModel is submitted.") public void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel) このテーブルのautoCreateColumnsFromModel
フラグを設定します。 このメソッドは、autoCreateColumnsFromModel
がfalseからtrueに変更された場合にcreateDefaultColumnsFromModel
を呼び出します。- パラメータ:
autoCreateColumnsFromModel
-JTable
が列を自動作成する場合はtrue- 関連項目:
-
getAutoCreateColumnsFromModel
public boolean getAutoCreateColumnsFromModel()テーブルがデフォルトの列をモデルから作成するかどうかを指定します。 trueの場合、setModel
は既存の列をクリアして、新しいモデルから新しい列を作成します。 また、tableChanged
通知のイベントが、テーブル全体が変更されたことを示している場合は、列が再構築されます。 デフォルトは、trueです。- 戻り値:
- テーブルのautoCreateColumnsFromModel
- 関連項目:
-
createDefaultColumnsFromModel
public void createDefaultColumnsFromModel()このメソッドはTableModel
インタフェースに定義されたgetColumnCount
メソッドを使って、データ・モデルからテーブルのデフォルトの列を作成します。モデルからの情報に基づいて新しい列を作成する前に、既存の列があればそれをクリアします。
-
setDefaultRenderer
public void setDefaultRenderer(Class<?> columnClass, TableCellRenderer renderer) TableColumn
にレンダラが設定されていない場合に使用する、デフォルトのセル・レンダラを設定します。 レンダリングがnull
の場合は、この列クラスのデフォルトのレンダリングを削除します。- パラメータ:
columnClass
- このcolumnClassにデフォルトのセル・レンダリングを設定するrenderer
- このcolumnClassに使うデフォルトのセル・レンダリング- 関連項目:
-
getDefaultRenderer
public TableCellRenderer getDefaultRenderer(Class<?> columnClass) TableColumn
にレンダラが設定されていない場合に使用する、セル・レンダラを返します。 セルのレンダリング時には、レンダリングは列内のセルのクラスに基づいてエントリのHashtable
から取得されます。 このcolumnClass
にエントリがない場合、このメソッドはもっとも明確なスーパー・クラスのエントリを返します。JTable
は、そのすべてを変更または置換できるObject
、Number
、およびBoolean
のエントリをインストールします。- パラメータ:
columnClass
- このcolumnClassのデフォルトのセル・レンダリングを返す- 戻り値:
- このcolumnClassのレンダリング
- 関連項目:
-
setDefaultEditor
public void setDefaultEditor(Class<?> columnClass, TableCellEditor editor) TableColumn
にエディタが設定されていない場合に使用する、デフォルトのセル・エディタを設定します。 テーブルまたはテーブル内の特定の列で編集が必要ない場合は、TableModel
インタフェースのisCellEditable
メソッドを使用して、このJTable
がこうした列でエディタを起動することのないようにします。 エディタがnull
の場合は、この列クラスからデフォルトのエディタを削除します。- パラメータ:
columnClass
- このcolumnClassにデフォルトのセル・エディタを設定するeditor
- このcolumnClassに使うデフォルトのセル・エディタ- 関連項目:
-
getDefaultEditor
public TableCellEditor getDefaultEditor(Class<?> columnClass) TableColumn
にエディタが設定されていない場合に使用するエディタを返します。 セルの編集時には、エディタは列内のセルのクラスに基づいてエントリのHashtable
から取得されます。 このcolumnClass
にエントリがない場合、このメソッドはもっとも明確なスーパー・クラスのエントリを返します。JTable
は、そのすべてを変更または置換できるObject
、Number
、およびBoolean
のエントリをインストールします。- パラメータ:
columnClass
- このcolumnClassのデフォルトのセル・エディタを返す- 戻り値:
- このcolumnClassに使うデフォルトのセル・エディタ
- 関連項目:
-
setDragEnabled
@BeanProperty(bound=false, description="determines whether automatic drag handling is enabled") public void setDragEnabled(boolean b) 自動ドラッグ処理をオンまたはオフにします。 自動ドラッグ処理を有効にするには、このプロパティの値をtrue
に設定し、テーブルのTransferHandler
の値をnon-null
にしてください。dragEnabled
プロパティのデフォルト値はfalse
です。このプロパティを受け入れ、ユーザーのドラッグ・ジェスチャを認識する処理は、ルック・アンド・フィール実装(特にテーブルの
TableUI
)によって行われます。 自動ドラッグ処理が有効である場合、ほとんどのルック・アンド・フィール (BasicLookAndFeel
のサブクラスのルック・アンド・フィールを含む)は、ユーザーが項目(単一選択モード)または選択内容(その他の選択モード)の上でマウス・ボタンを押し、マウスを数ピクセル移動すると、ドラッグ・アンド・ドロップ操作を開始します。 したがって、このプロパティをtrue
に設定すると、選択の動作に微妙に影響する場合があります。このプロパティを無視するようなルック・アンド・フィールを使用している場合も、テーブルの
TransferHandler
上でexportAsDrag
を呼び出すことにより、ドラッグ・アンド・ドロップ操作を開始できます。- パラメータ:
b
- 自動ドラッグ処理を有効にするかどうか- 例外:
HeadlessException
-b
がtrue
で、GraphicsEnvironment.isHeadless()
がtrue
を返す場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
getDragEnabled
public boolean getDragEnabled()自動ドラッグ処理が有効であるかどうかを返します。- 戻り値:
dragEnabled
プロパティの値- 導入されたバージョン:
- 1.4
- 関連項目:
-
setDropMode
public final void setDropMode(DropMode dropMode) このコンポーネントのドロップ・モードを設定します。 下位互換性を確保するため、このプロパティのデフォルト値はDropMode.USE_SELECTION
になっています。 ただし、ユーザー側の操作を改善する場合は、ほかのモードを使用することをお勧めします。 たとえばDropMode.ON
は、テーブル内の実際の選択内容に影響を及ぼすことなく、選択されたように項目を表示する動作と似た動作を提供します。JTable
は次のドロップ・モードをサポートしています。DropMode.USE_SELECTION
DropMode.ON
DropMode.INSERT
DropMode.INSERT_ROWS
DropMode.INSERT_COLS
DropMode.ON_OR_INSERT
DropMode.ON_OR_INSERT_ROWS
DropMode.ON_OR_INSERT_COLS
このコンポーネントがドロップを受け付ける
TransferHandler
を持っていなければ、ドロップ・モードの効果はありません。- パラメータ:
dropMode
- 使用するドロップ・モード- 例外:
IllegalArgumentException
- ドロップ・モードがサポートされていないかnull
の場合- 導入されたバージョン:
- 1.6
- 関連項目:
-
getDropMode
public final DropMode getDropMode()このコンポーネントのドロップ・モードを返します。- 戻り値:
- このコンポーネントのドロップ・モード
- 導入されたバージョン:
- 1.6
- 関連項目:
-
getDropLocation
@BeanProperty(bound=false) public final JTable.DropLocation getDropLocation()このコンポーネントがコンポーネントのドラッグ・アンド・ドロップ時にドロップ位置として視覚的に示す位置を返します。現在位置が表示されていない場合はnull
を返します。このメソッドは、
TransferHandler
からドロップ位置を照会する手段にはなりません。ドロップ位置は、TransferHandler
のcanImport
が返され、ドロップ位置を表示する準備ができてから設定されるためです。このプロパティが変更されると、コンポーネントにより、プロパティ変更イベントdropLocationがトリガーされます。
- 戻り値:
- ドロップ位置
- 導入されたバージョン:
- 1.6
- 関連項目:
-
setAutoCreateRowSorter
@BeanProperty(preferred=true, description="Whether or not to turn on sorting by default.") public void setAutoCreateRowSorter(boolean autoCreateRowSorter) モデルが変更されるたびにテーブルのRowSorter
を作成するかどうかを指定します。setAutoCreateRowSorter(true)
が呼び出されると、ただちにTableRowSorter
が作成され、テーブルにインストールされます。autoCreateRowSorter
プロパティの値がtrue
の場合、モデルが変更されるたびに新しいTableRowSorter
が作成され、テーブルの行ソーターとして設定されます。autoCreateRowSorter
プロパティのデフォルト値はfalse
です。- パラメータ:
autoCreateRowSorter
-RowSorter
が自動的に作成されるかどうか- 導入されたバージョン:
- 1.6
- 関連項目:
-
getAutoCreateRowSorter
public boolean getAutoCreateRowSorter()モデルが変更されるたびに新しいRowSorter
を作成し、テーブルのソーターとしてインストールする場合はtrue
、それ以外の場合はfalse
を返します。- 戻り値:
- モデルが変更されるたびに
RowSorter
が作成される場合はtrue - 導入されたバージョン:
- 1.6
-
setUpdateSelectionOnSort
@BeanProperty(expert=true, description="Whether or not to update the selection on sorting") public void setUpdateSelectionOnSort(boolean update) ソート後、選択内容を更新するかどうかを指定します。 trueの場合、ソート時に選択内容がリセットされ、そのモデルの同じ行が選択された状態になります。 デフォルトは、trueです。- パラメータ:
update
- ソート時に選択内容を更新するかどうか- 導入されたバージョン:
- 1.6
-
getUpdateSelectionOnSort
public boolean getUpdateSelectionOnSort()ソート後、選択内容を更新する場合はtrueを返します。- 戻り値:
- ソート時に選択内容を更新するかどうか
- 導入されたバージョン:
- 1.6
-
setRowSorter
@BeanProperty(description="The table\'s RowSorter") public void setRowSorter(RowSorter<? extends TableModel> sorter) RowSorter
を設定します。RowSorter
は、JTable
にソートおよびフィルタ・リング機能を提供するために使用されます。このメソッドは、クリアし、可変の行の高さをすべてリセットします。
このメソッドは、適切な場合にプロパティ名
"rowSorter"
でPropertyChangeEvent
をトリガーします。 下位互換性のために、このメソッドは追加イベントをプロパティ名"sorter"
でトリガーします。RowSorter
の配下のモデルがこのJTable
の配下のモデルと一致しない場合の動作は保証されません。- パラメータ:
sorter
-RowSorter
。null
の場合、ソートは無効- 導入されたバージョン:
- 1.6
- 関連項目:
-
getRowSorter
public RowSorter<? extends TableModel> getRowSorter()ソート処理を行うオブジェクトを返します。- 戻り値:
- ソート処理を行うオブジェクト
- 導入されたバージョン:
- 1.6
-
setSelectionMode
@BeanProperty(enumerationValues={"ListSelectionModel.SINGLE_SELECTION","ListSelectionModel.SINGLE_INTERVAL_SELECTION","ListSelectionModel.MULTIPLE_INTERVAL_SELECTION"}, description="The selection mode used by the row and column selection models.") public void setSelectionMode(int selectionMode) テーブルの選択モードを設定すると、単一項目選択、連続区間の選択、または連続区間の複数選択を可能にできます。ノート:
JTable
は、列と行の選択を処理するすべてのメソッドを提供します。setSelectionMode
などの状態を設定する際、行選択モデルのモードを更新するだけでなく、columnModel
の選択モデルで同様の値を設定します。 行および列の選択モデルを別々のモードで機能させるには、それらを両方とも直接設定します。JTable
の行選択モデルと列選択モデルはどちらともデフォルトでDefaultListSelectionModel
を使用するので、JTable
はJList
と同じように動作します。 モードの詳細は、JList
のsetSelectionMode
を参照してください。- パラメータ:
selectionMode
- 行選択モデルと列選択モデルで使用されるモード- 関連項目:
-
setRowSelectionAllowed
@BeanProperty(visualUpdate=true, description="If true, an entire row is selected for each selected cell.") public void setRowSelectionAllowed(boolean rowSelectionAllowed) このモデルの行を選択できるかどうかを設定します。- パラメータ:
rowSelectionAllowed
- このモデルが行選択を許可する場合はtrue- 関連項目:
-
getRowSelectionAllowed
public boolean getRowSelectionAllowed()行を選択できる場合にtrueを返します。- 戻り値:
- 行を選択可能な場合はtrue、そうでない場合はfalse
- 関連項目:
-
setColumnSelectionAllowed
@BeanProperty(visualUpdate=true, description="If true, an entire column is selected for each selected cell.") public void setColumnSelectionAllowed(boolean columnSelectionAllowed) このモデルの列を選択できるかどうかを設定します。- パラメータ:
columnSelectionAllowed
- このモデルが列選択を許可する場合はtrue- 関連項目:
-
getColumnSelectionAllowed
public boolean getColumnSelectionAllowed()列が選択できる場合はtrueを返します。- 戻り値:
- 列を選択可能な場合はtrue、そうでない場合はfalse
- 関連項目:
-
setCellSelectionEnabled
@BeanProperty(visualUpdate=true, description="Select a rectangular region of cells rather than rows or columns.") public void setCellSelectionEnabled(boolean cellSelectionEnabled) 列選択と行選択の同時実行をこのテーブルが許可するかどうかを設定します。 設定されると、テーブルは行選択モデルと列選択モデルの交差する部分を、選択されたセルとして処理します。 このデフォルトの動作を変更するには、isCellSelected
をオーバーライドします。 このメソッドは、columnModel
のrowSelectionAllowed
プロパティおよびcolumnSelectionAllowed
プロパティを指定された値に設定するのと同じことです。- パラメータ:
cellSelectionEnabled
- 行と列の同時選択を許可する場合はtrue- 関連項目:
-
getCellSelectionEnabled
public boolean getCellSelectionEnabled()行選択モデルと列選択モデルの両方が可能な場合はtrueを返します。getRowSelectionAllowed() && getColumnSelectionAllowed()
と同等です。- 戻り値:
- 行選択モデルと列選択モデルの両方が可能な場合はtrue
- 関連項目:
-
selectAll
public void selectAll()テーブルのすべての行、列、およびセルを選択します。 -
clearSelection
public void clearSelection()選択されているすべての列および行を選択解除します。 -
setRowSelectionInterval
public void setRowSelectionInterval(int index0, int index1) index0
からindex1
までの行(上下限値を含む)を選択します。- パラメータ:
index0
- 範囲の一方の端の値index1
- 範囲の他方の端の値- 例外:
IllegalArgumentException
-index0
またはindex1
が[0,getRowCount()
-1]の範囲外の場合
-
setColumnSelectionInterval
public void setColumnSelectionInterval(int index0, int index1) index0
からindex1
までの列(上下限値を含む)を選択します。- パラメータ:
index0
- 範囲の一方の端の値index1
- 範囲の他方の端の値- 例外:
IllegalArgumentException
-index0
またはindex1
が[0,getColumnCount()
-1]の範囲外の場合
-
addRowSelectionInterval
public void addRowSelectionInterval(int index0, int index1) index0
からindex1
までの行(上下限値を含む)を現在の選択領域に追加します。- パラメータ:
index0
- 範囲の一方の端の値index1
- 範囲の他方の端の値- 例外:
IllegalArgumentException
-index0
またはindex1
が[0,getRowCount()
-1]の範囲外の場合
-
addColumnSelectionInterval
public void addColumnSelectionInterval(int index0, int index1) index0
からindex1
までの列(上下限値を含む)を現在の選択領域に追加します。- パラメータ:
index0
- 範囲の一方の端の値index1
- 範囲の他方の端の値- 例外:
IllegalArgumentException
-index0
またはindex1
が[0,getColumnCount()
-1]の範囲外の場合
-
removeRowSelectionInterval
public void removeRowSelectionInterval(int index0, int index1) index0
からindex1
までの行(上下限値を含む)の選択を解除します。- パラメータ:
index0
- 範囲の一方の端の値index1
- 範囲の他方の端の値- 例外:
IllegalArgumentException
-index0
またはindex1
が[0,getRowCount()
-1]の範囲外の場合
-
removeColumnSelectionInterval
public void removeColumnSelectionInterval(int index0, int index1) index0
からindex1
までの列(上下限値を含む)の選択を解除します。- パラメータ:
index0
- 範囲の一方の端の値index1
- 範囲の他方の端の値- 例外:
IllegalArgumentException
-index0
またはindex1
が[0,getColumnCount()
-1]の範囲外の場合
-
getSelectedRow
@BeanProperty(bound=false) public int getSelectedRow()最初に選択された行のインデックスを返すか、行が選択されていない場合は -1を返します。- 戻り値:
- 最初に選択された行のインデックス
-
getSelectedColumn
@BeanProperty(bound=false) public int getSelectedColumn()最初に選択された列のインデックスを返すか、列が選択されていない場合は -1を返します。- 戻り値:
- 最初に選択された列のインデックス
-
getSelectedRows
@BeanProperty(bound=false) public int[] getSelectedRows()選択されたすべての行のインデックスを返します。- 戻り値:
- 選択されたすべての行のインデックスを格納する整数の配列。行が選択されていない場合は空の配列
- 関連項目:
-
getSelectedColumns
@BeanProperty(bound=false) public int[] getSelectedColumns()選択されたすべての列のインデックスを返します。- 戻り値:
- 選択されたすべての列のインデックスを格納する整数の配列。列が選択されていない場合は空の配列
- 関連項目:
-
getSelectedRowCount
@BeanProperty(bound=false) public int getSelectedRowCount()選択された行数を返します。- 戻り値:
- 選択された行の数。選択されている行がない場合は0
-
getSelectedColumnCount
@BeanProperty(bound=false) public int getSelectedColumnCount()選択されている列の数を返します。- 戻り値:
- 選択された列の数。選択されている列がない場合は0
-
isRowSelected
public boolean isRowSelected(int row) 指定されたインデックスが有効な行の範囲内にあり、そのインデックスで示される行が選択されている場合はtrueを返します。- パラメータ:
row
- 行モデルの行- 戻り値:
row
が有効なインデックスであり、そのインデックスで示される行が選択されている場合はtrue (0は最初の行)
-
isColumnSelected
public boolean isColumnSelected(int column) 指定されたインデックスが有効な列の範囲内にあり、そのインデックスで示される列が選択されている場合はtrueを返します。- パラメータ:
column
- 列モデルの列- 戻り値:
column
が有効なインデックスであり、そのインデックスで示される列が選択されている場合はtrue (0は最初の列)
-
isCellSelected
public boolean isCellSelected(int row, int column) 指定されたインデックスが有効な行および列の範囲内にあり、指定された位置にあるセルが選択されている場合はtrueを返します。- パラメータ:
row
- 照会される行column
- 照会される列- 戻り値:
row
とcolumn
が有効なインデックスであり、インデックス(row, column)
位置のセルが選択されている場合はtrue。この場合、最初の行と最初の列はインデックス0で示される
-
changeSelection
public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend) toggle
とextend
の2つのフラグの状態によって、テーブルの選択モデルを更新します。 UIが受け取ったキーボード・イベントまたはマウス・イベントによって行われた選択範囲の変更はこのメソッドによって処理され、サブクラスが動作をオーバーライドできるようになります。 UIには、不連続な選択範囲の先頭を操作する場合など、このメソッドが提供するよりも高度な機能を必要とするものもあり、一部の選択範囲の変更ではそのようなUIがこのメソッドに呼び込まれないことがあります。実装は次の規則を使用します。
-
toggle
: false、extend
: false。 既存の選択をクリアし、新しいセルが確実に選択されるようにする。 -
toggle
: false、extend
: true。 既存の選択をアンカーから指定のセルまで拡張して、ほかのすべての選択をクリアする。 -
toggle
: true、extend
: false。 指定されたセルが選択されている場合、そのセルを選択解除する。 選択されていない場合、そのセルを選択する。 -
toggle
: true、extend
: true。 アンカーの選択状態を、そのアンカーと指定されたセル間のすべてのセルに適用する。
- パラメータ:
rowIndex
-row
の選択に影響するcolumnIndex
-column
の選択に影響するtoggle
- 上記参照extend
- trueの場合、現在の選択を拡張する- 導入されたバージョン:
- 1.3
-
-
getSelectionForeground
public Color getSelectionForeground()選択されているセルのフォアグラウンド・カラーを返します。- 戻り値:
- フォアグラウンド・プロパティの
Color
オブジェクト - 関連項目:
-
setSelectionForeground
@BeanProperty(description="A default foreground color for selected cells.") public void setSelectionForeground(Color selectionForeground) 選択されたセルのフォアグラウンド・カラーを設定します。 セル・レンダリングはこの色を使用して、選択されたセルのテキストとグラフィックスをレンダリングします。このプロパティのデフォルト値は、ルック・アンド・フィールの実装によって定義されます。
これはJavaBeansバウンド・プロパティです。
- パラメータ:
selectionForeground
- 選択されたリスト項目のフォアグラウンドで使用するColor
- 関連項目:
-
getSelectionBackground
public Color getSelectionBackground()選択されたセルのバックグラウンド・カラーを返します。- 戻り値:
- 選択されたリスト項目のバックグラウンドで使う
Color
- 関連項目:
-
setSelectionBackground
@BeanProperty(description="A default background color for selected cells.") public void setSelectionBackground(Color selectionBackground) 選択されたセルのバックグラウンド・カラーを設定します。 セル・レンダリングはこの色を使用して、選択されたセルを塗りつぶすことができます。このプロパティのデフォルト値は、ルック・アンド・フィールの実装によって定義されます。
これはJavaBeansバウンド・プロパティです。
- パラメータ:
selectionBackground
- 選択されたセルのバックグラウンドで使用するColor
- 関連項目:
-
getColumn
public TableColumn getColumn(Object identifier) equals
を使って比較した場合に識別子がidentifier
に等しい、テーブル内の列のTableColumn
オブジェクトを返します。- パラメータ:
identifier
- 識別子オブジェクト- 戻り値:
- 識別子が一致する
TableColumn
オブジェクト - 例外:
IllegalArgumentException
-identifier
がnull
の場合、またはこのidentifierを持っているTableColumn
がない場合
-
convertColumnIndexToModel
public int convertColumnIndexToModel(int viewColumnIndex) viewColumnIndex
のビュー内の列のインデックスを、テーブル・モデル内の列のインデックスにマッピングします。 モデル内の対応する列のインデックスを返します。viewColumnIndex
がゼロより小さい場合は、viewColumnIndex
を返します。- パラメータ:
viewColumnIndex
- ビュー内の列のインデックス- 戻り値:
- モデル内の対応する列のインデックス
- 関連項目:
-
convertColumnIndexToView
public int convertColumnIndexToView(int modelColumnIndex) modelColumnIndex
のテーブル・モデル内の列のインデックスを、ビュー内の列のインデックスにマッピングします。 ビュー内の対応する列のインデックスを返します。この列が表示されていない場合は-1を返します。modelColumnIndex
がゼロより小さい場合は、modelColumnIndex
を返します。- パラメータ:
modelColumnIndex
- モデル内の列のインデックス- 戻り値:
- ビュー内の対応する列のインデックス
- 関連項目:
-
convertRowIndexToView
public int convertRowIndexToView(int modelRowIndex) TableModel
の行のインデックスをビューにマッピングします。 モデルのインデックスとビューのインデックスが同じである場合、モデルの内容はソートされません。- パラメータ:
modelRowIndex
- モデルの行のインデックス- 戻り値:
- ビュー内の対応する行のインデックス、行が可視でない場合は -1
- 例外:
IndexOutOfBoundsException
- ソート機能が有効で、TableModel
の行数より値の大きいインデックスが渡された場合- 導入されたバージョン:
- 1.6
- 関連項目:
-
convertRowIndexToModel
public int convertRowIndexToModel(int viewRowIndex) ビューの行のインデックスをベースとなるTableModel
にマッピングします。 モデルのインデックスとビューのインデックスが同じである場合、モデルの内容はソートされません。- パラメータ:
viewRowIndex
- ビュー内の行のインデックス- 戻り値:
- モデル内の対応する行のインデックス
- 例外:
IndexOutOfBoundsException
- ソート機能が有効で、getRowCount
メソッドの決定に従ってJTable
の範囲より値の大きいインデックスが渡された場合- 導入されたバージョン:
- 1.6
- 関連項目:
-
getRowCount
@BeanProperty(bound=false) public int getRowCount()スペースに制限がない場合、JTable
に表示できる行数を返します。 フィルタとともにRowSorter
が指定された場合は、返される行数が配下のTableModel
によって返される行数と異なる可能性があります。- 戻り値:
JTable
に表示される行数- 関連項目:
-
getColumnCount
@BeanProperty(bound=false) public int getColumnCount()列モデル内の列数を返します。 ただし、これはテーブル・モデル内の列数とは異なる場合があります。- 戻り値:
- テーブル内の列数
- 関連項目:
-
getColumnName
public String getColumnName(int column) ビューの列位置column
に表示される列の名前を返します。- パラメータ:
column
- 照会されるビューの列- 戻り値:
- ビュー内の
column
位置の列名(最初の列は列0)
-
getColumnClass
public Class<?> getColumnClass(int column) ビューの列位置column
に表示される列の型を返します。- パラメータ:
column
- 照会されるビューの列- 戻り値:
- ビュー内の
column
にある列の種類(最初の列は列0)
-
getValueAt
public Object getValueAt(int row, int column) row
、column
に位置するセル値を返します。ノート: 列はテーブル・ビューの表示順で指定され、
TableModel
の列順では指定されません。 ユーザーがテーブル内の列を配列し直すとビュー内の指定されたインデックスの列が変更されるため、これは重要な相違になります。 一方、ユーザーのアクションはモデルの列順序付けに影響を及ぼしません。- パラメータ:
row
- 値が照会される行column
- 値が照会される列- 戻り値:
- 指定されたセルのObject
-
setValueAt
public void setValueAt(Object aValue, int row, int column) テーブル・モデル内のrow
、column
に位置するセルの値を設定します。ノート: 列はテーブル・ビューの表示順で指定され、
TableModel
の列順では指定されません。 ユーザーがテーブル内の列を配列し直すとビュー内の指定されたインデックスの列が変更されるため、これは重要な相違になります。 一方、ユーザーのアクションはモデルの列順序付けに影響を及ぼしません。aValue
は新しい値です。- パラメータ:
aValue
- 新しい値row
- 変更されるセルの行column
- 変更されるセルの列- 関連項目:
-
isCellEditable
public boolean isCellEditable(int row, int column) row
およびcolumn
に位置するセルが編集可能な場合にtrueを返します。 そうでない場合は、セルのsetValueAt
を呼び出しても影響しません。ノート: 列はテーブル・ビューの表示順で指定され、
TableModel
の列順では指定されません。 ユーザーがテーブル内の列を配列し直すとビュー内の指定されたインデックスの列が変更されるため、これは重要な相違になります。 一方、ユーザーのアクションはモデルの列順序付けに影響を及ぼしません。- パラメータ:
row
- 値が照会される行column
- 値が照会される列- 戻り値:
- セルが編集可能な場合はtrue
- 関連項目:
-
addColumn
public void addColumn(TableColumn aColumn) このJTable
の列モデルが保持する列の配列の末尾にaColumn
を追加します。aColumn
の列名がnull
の場合、aColumn
の列名をgetModel().getColumnName()
の返す名前に設定します。この
JTable
に列を追加して、指定されたwidth
、cellRenderer
、およびcellEditor
を使ってモデル内のmodelColumn
番目の列のデータを表示するために、次を使用できます。addColumn(new TableColumn(modelColumn, width, cellRenderer, cellEditor));
(TableColumn
コンストラクタをどれでもかわりに使用できます。)モデル列番号はTableColumn
内部に格納され、レンダリング時と編集時にモデル内の適切なデータ値を見つけるために使用されます。 モデル列番号は、列をビュー内で並べ替えても変更されません。- パラメータ:
aColumn
- 追加されるTableColumn
- 関連項目:
-
removeColumn
public void removeColumn(TableColumn aColumn) このJTable
の列配列からaColumn
を削除します。 ノート: このメソッドによって、モデルから列のデータが削除されることはありません。列のデータの表示を行っていたTableColumn
のみが削除されます。- パラメータ:
aColumn
- 削除するTableColumn
- 関連項目:
-
moveColumn
public void moveColumn(int column, int targetColumn) column
の列を、ビュー内のtargetColumn
の列が現在占める位置に移動します。targetColumn
の従来の列は空きを作るために左または右にシフトされます。- パラメータ:
column
- 移動する列のインデックスtargetColumn
- 列の新しいインデックス
-
columnAtPoint
public int columnAtPoint(Point point) point
がある列のインデックスを返します。もし、その結果が[0,getColumnCount()
-1]の範囲内にない場合は -1を返します。- パラメータ:
point
- 対象の位置- 戻り値:
point
がある列のインデックスを返します。もし、その結果が[0,getColumnCount()
-1]の範囲内にない場合は -1- 関連項目:
-
rowAtPoint
public int rowAtPoint(Point point) point
がある行のインデックスを返します。もし、その結果が[0,getRowCount()
-1]の範囲内にない場合は -1を返します。- パラメータ:
point
- 対象の位置- 戻り値:
point
がある行のインデックスを返します。もし、その結果が[0,getRowCount()
-1]の範囲内にない場合は -1- 関連項目:
-
getCellRect
public Rectangle getCellRect(int row, int column, boolean includeSpacing) row
とcolumn
が交差する位置のセルの矩形を返します。includeSpacing
がtrueの場合、返される値は指定された行と列の全高さと全幅を含みます。 falseの場合、返される矩形はセルの間隔によってイン・セットされ、レンダリングの際設定されるレンダリング・コンポーネントまたは編集コンポーネントの真の境界が返されます。列インデックスが有効で行インデックスがゼロより小さい場合、メソッドは、
y
値とheight
値が適切に設定され、x
値とwidth
値がともにゼロに設定された矩形を返します。 一般に、行と列のどちらかのインデックスが適切な範囲外のセルを示す場合、メソッドはテーブルの範囲内でもっとも近いセルのもっとも近い縁を描く矩形を返します。 行と列のインデックスがどちらも範囲外の場合、返される矩形はもっとも近いセルのもっとも近い点を表しています。どのケースでも、このメソッドを使用して1つの軸に合わせて結果を求める計算は、他方の軸では変則的な計算を行うので、失敗することはありません。 セルが有効でない場合、
includeSpacing
パラメータは無視されます。- パラメータ:
row
- 目的のセルが置かれている行インデックスcolumn
- 画面内で目的のセルが置かれている列インデックス。この値は、テーブルのデータ・モデル内の列インデックスと同じであるとはかぎらない。データ・モデルの列インデックスを画面の列インデックスに変換する場合は、convertColumnIndexToView(int)
メソッドを使用できるincludeSpacing
- falseの場合、真のセルの境界を返す。この境界は、列モデルと行モデルの高さと幅からセルの間隔を引くことによって計算される- 戻り値:
row
、column
の位置のセルを保持する矩形- 関連項目:
-
doLayout
public void doLayout()このテーブルに行と列をレイアウトさせます。 格納する親のサイズの変更にあわせて列をサイズ変更できるように、オーバーライドされます。 このJTable
の列全部の合計幅がテーブル幅に等しくなるように、テーブル内の1つまたは複数の列のサイズを変更します。配置が開始される前に、メソッドは
tableHeader
のresizingColumn
を取得します。 囲み側ウィンドウのサイズ変更の結果として、メソッドが呼び出される場合は、resizingColumn
はnull
になります。 これは、サイズ変更がJTable
の「外側」で起きたこと、および変更(デルタ)がこのJTable
の自動サイズ変更モードに関係なくすべての列に反映されることを意味します。resizingColumn
がnull
でない場合は、テーブル・サイズの変更ではなく、テーブル内のある列のサイズが変更されたことを示します。 この場合、自動サイズ変更モードにより、余分な、または足りないスペースが利用可能なすべての列で配分される方法が決定されます。次のモードが有効です。
- AUTO_RESIZE_OFF -列の幅を自動調整しない。 列の合計が
Viewport
の幅を超える場合は、水平スクロールバーを使用してそれらの列に対応する。JTable
がJScrollPane
に囲まれていない場合、テーブルの一部を不可視のままにすることがある。 - AUTO_RESIZE_NEXT_COLUMN -サイズが変更された列の直後の列を使用する。 この場合、隣接するセルの間の「境界」つまりディバイダを単独で調整できる。
- AUTO_RESIZE_SUBSEQUENT_COLUMNS -調整中の列の後ろのすべての列を使用して、変更を吸収する。 これはデフォルトの動作です。
- AUTO_RESIZE_LAST_COLUMN -最後の列のサイズだけを自動調整する。 最終列の境界のために望ましいサイズの割当てができない場合は、最終列の幅を適切な限度に設定してそれ以上の調整は行わない。
- AUTO_RESIZE_ALL_COLUMNS -調整中の列を含めた
JTable
内のすべての列にデルタを分散させる。
ノート:
JTable
が列幅を調整するときは、最小値と最大値が無条件に考慮されます。 このため、このメソッドを呼び出した後でも、列の合計幅が表の幅に等しくない場合があります。 この場合、JTable
はそれ自体がAUTO_RESIZE_OFFモードに入ってスクロールバーを呼び出したり、現在の自動サイズ変更モードによるその他の機能を中断させたりすることはありません。そのかわり、境界を各列の最小または最大の合計よりも大きく、または小さく設定できるようにします。つまり、すべての列を表示する余裕がないか、列がJTable
の境界に足りないかのどちらかを意味します。 この結果、前者は一部の列のクリッピングを実行し、後者はペイント時にJTable
のバックグラウンド・カラーで領域をペイントすることになります。有効な列の間でデルタを分散させるメカニズムは、
JTable
クラスのprivateメソッドで提供されます。adjustSizes(long targetSize, final Resizable3 r, boolean inverse)
このメソッドについては次のセクションで説明します。Resizable3
はprivateインタフェースであり、このインタフェースによって、サイズ、適切なサイズ、最大サイズ、および最小サイズを持つ要素の集合を格納するすべてのデータ構造がアルゴリズムによってその要素を操作できるようになります。デルタの分散
概要
ターゲット・サイズと、r内の要素の推奨サイズの合計との差を「DELTA」と呼びます。 個々のサイズは、元の推奨サイズにDELTAの割当て分を足して算出します。割当て分は、各推奨サイズとその制限境界(最小値または最大値)との間の距離に基づいて決まります。
定義
各定数をmin[i]、max[i]、およびpref[i]とします。
それぞれの合計をMIN、MAX、およびPREFとします。
新しいサイズの計算方法は次のとおりです。
size[i] = pref[i] + delta[i]
delta[i]の計算方法は次のとおりです。(DELTA < 0)の場合は、次のような縮小モードになります。
DELTA delta[i] = ------------ * (pref[i] - min[i]) (PREF - MIN)
(DELTA> 0)の場合は、次のような拡大モードになります。DELTA delta[i] = ------------ * (max[i] - pref[i]) (MAX - PREF)
全体として、合計サイズは同じ割合kで合計最小値または合計最大値に近づき、その割合が必要なスペースDELTAに対応することを保証します。
詳細
ここで提示した公式の単純な評価は、有限精度(intを使用)でこの処理をすることによって生じる四捨五入誤差の影響を受けます。 これに対応するために、前述の乗率が繰返し計算され、そのときに前回の四捨五入誤差が考慮されます。 その結果、指定されたすべての要素で均等に四捨五入誤差を分散することによって、値の合計が正確に
targetSize
になる一連の整数を生成するアルゴリズムとなります。MAX境界およびMIN境界に達した場合
targetSize
が[MIN, MAX]の範囲外の場合、このアルゴリズムによってすべてのサイズがそれぞれの適切な最大値または最小値の制限値に設定されます。 - AUTO_RESIZE_OFF -列の幅を自動調整しない。 列の合計が
-
sizeColumnsToFit
@Deprecated public void sizeColumnsToFit(boolean lastColumnOnly) 非推奨。Swing version 1.0.3以降は、doLayout()
に置き換えられています。利用可能なスペースに合わせてテーブルの列のサイズを変更します。- パラメータ:
lastColumnOnly
- 最後の列のみのサイズを変更するかどうかを決定- 関連項目:
-
sizeColumnsToFit
public void sizeColumnsToFit(int resizingColumn) Java 2プラットフォームv1.4では使用しません。 代わりにdoLayout()
メソッドを使用してください。- パラメータ:
resizingColumn
- サイズ変更でこの調整を必要とする列。当てはまる列がない場合は -1- 関連項目:
-
getToolTipText
public String getToolTipText(MouseEvent event) JComponent
のgetToolTipText
メソッドをオーバーライドして、テキスト・セットがある場合にレンダリングのヒントを使用できるようにします。ノート:
JTable
がレンダラのツールヒントを適切に表示できるようにするには、JTable
がToolTipManager
に登録済のコンポーネントである必要があります。 これはinitializeLocalVars
で自動的に行われますが、あとでJTable
にsetToolTipText(null)
を通知すると、テーブル・コンポーネントを登録解除するので、レンダリングからのヒントはそれ以上表示されません。- オーバーライド:
getToolTipText
、クラスJComponent
- パラメータ:
event
-ToolTip
の表示を開始したMouseEvent
- 戻り値:
- ツール・ヒントを含む文字列
- 関連項目:
-
setSurrendersFocusOnKeystroke
public void setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke) JTableがセルのキーボード・イベントを転送した結果として、このJTableのエディタがキーボード・フォーカスを取得するかどうかを設定します。 デフォルトでは、このプロパティはfalseです。JTableはセルがクリックされないかぎりフォーカスを保持します。- パラメータ:
surrendersFocusOnKeystroke
- キー・ストロークによりエディタがアクティブになったとき、エディタがフォーカスを取得する場合はtrue- 導入されたバージョン:
- 1.4
- 関連項目:
-
getSurrendersFocusOnKeystroke
public boolean getSurrendersFocusOnKeystroke()キーボードがエディタをアクティブ化したときにエディタがフォーカスを取得する場合はtrueを返します。- 戻り値:
- キー・ストロークによりエディタがアクティブになったとき、エディタがフォーカスを取得する場合はtrue
- 導入されたバージョン:
- 1.4
- 関連項目:
-
editCellAt
public boolean editCellAt(int row, int column) row
、column
に位置するセルのインデックスが有効な範囲内にあり、その位置にあるセルが編集可能な場合は、セルの編集をプログラムによって開始します。 これはeditCellAt(int, int, null)
の簡易メソッドです。- パラメータ:
row
- 編集する行column
- 編集する列- 戻り値:
- 何らかの理由でセルを編集できない場合、またはインデックスが無効な場合はfalse
-
editCellAt
public boolean editCellAt(int row, int column, EventObject e) row
、column
に位置するセルのインデックスが有効な範囲内にあり、その位置にあるセルが編集可能な場合は、セルの編集をプログラムによって開始します。JTable
が特定のテーブル、列、またはセルの値を編集できないようにするには、TableModel
インタフェースのisCellEditable
メソッドからfalseを返します。- パラメータ:
row
- 編集する行column
- 編集する列e
-shouldSelectCell
に渡されるイベント。Java 2プラットフォームv1.2以降、shouldSelectCell
は呼び出されなくなった- 戻り値:
- 何らかの理由でセルを編集できない場合、またはインデックスが無効な場合はfalse
-
isEditing
@BeanProperty(bound=false) public boolean isEditing()セルを編集中の場合はtrueを返します。- 戻り値:
- テーブルがセルを編集中の場合はtrue
- 関連項目:
-
getEditorComponent
@BeanProperty(bound=false) public Component getEditorComponent()編集セッションを処理しているコンポーネントを返します。 何も編集していない場合はnullを返します。- 戻り値:
- 編集セッションを処理するComponent
-
getEditingColumn
public int getEditingColumn()現在編集中のセルを含む列のインデックスを返します。 何も編集していない場合は -1を返します。- 戻り値:
- 現在編集中のセルを含む列のインデックス。何も編集していない場合は -1を返す
- 関連項目:
-
getEditingRow
public int getEditingRow()現在編集中のセルを含む行のインデックスを返します。 何も編集していない場合は -1を返します。- 戻り値:
- 現在編集中のセルを含む行のインデックス。何も編集していない場合は -1を返す
- 関連項目:
-
getUI
public TableUI getUI()このコンポーネントをレンダリングするL&Fオブジェクトを返します。- オーバーライド:
- クラス
JComponent
のgetUI
- 戻り値:
- このコンポーネントをレンダリングする
TableUI
オブジェクト
-
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(TableUI ui) このコンポーネントをレンダリングしてペイントしなおすL&Fオブジェクトを設定します。- パラメータ:
ui
- TableUI L&Fオブジェクト- 関連項目:
-
updateUI
public void updateUI()L&Fが変更されたことを示す、UIManager
からの通知です。 現在のUIオブジェクトをUIManager
の最新バージョンに置き換えます。- オーバーライド:
updateUI
、クラスJComponent
- 関連項目:
-
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()L&Fクラスの名前の構築に使用された接尾辞を返します。このクラスは、このコンポーネントをレンダリングするのに使用されます。- オーバーライド:
getUIClassID
、クラスJComponent
- 戻り値:
- TableUIの文字列
- 関連項目:
-
setModel
@BeanProperty(description="The model that is the source of the data for this view.") public void setModel(TableModel dataModel) この表のデータ・モデルをdataModel
に設定し、新しいデータ・モデルからのリスナー通知用に登録します。- パラメータ:
dataModel
- このテーブルの新しいデータ・ソース- 例外:
IllegalArgumentException
-dataModel
がnull
の場合- 関連項目:
-
getModel
public TableModel getModel()このJTable
が表示するデータを提供するTableModel
を返します。- 戻り値:
- この
JTable
が表示するデータを提供するTableModel
- 関連項目:
-
setColumnModel
@BeanProperty(description="The object governing the way columns appear in the view.") public void setColumnModel(TableColumnModel columnModel) この表の列モデルをcolumnModel
に設定し、新しい列モデルからのリスナー通知を登録します。 また、JTableHeader
の列モデルをcolumnModel
に設定します。- パラメータ:
columnModel
- このテーブルの新しいデータ・ソース- 例外:
IllegalArgumentException
-columnModel
がnull
である場合- 関連項目:
-
getColumnModel
public TableColumnModel getColumnModel()このテーブルのすべての列情報を保持するTableColumnModel
を返します。- 戻り値:
- テーブルの列の状態を提供するオブジェクト
- 関連項目:
-
setSelectionModel
@BeanProperty(description="The selection model for rows.") public void setSelectionModel(ListSelectionModel selectionModel) この表の行選択モデルをselectionModel
に設定し、新しい選択モデルからのリスナー通知を登録します。- パラメータ:
selectionModel
- 新しい選択モデル- 例外:
IllegalArgumentException
-selectionModel
がnull
である場合- 関連項目:
-
getSelectionModel
public ListSelectionModel getSelectionModel()行選択状態を維持するのに使うListSelectionModel
を返します。- 戻り値:
- 行の選択状態を提供するオブジェクト。行の選択が許可されていない場合は
null
- 関連項目:
-
sorterChanged
public void sorterChanged(RowSorterEvent e) RowSorter
が変更されたことを知らせるRowSorterListener
通知です。- 定義:
sorterChanged
、インタフェースRowSorterListener
- パラメータ:
e
- 変更を説明するRowSorterEvent
- 例外:
NullPointerException
-e
がnull
である場合- 導入されたバージョン:
- 1.6
-
tableChanged
public void tableChanged(TableModelEvent e) このテーブルのTableModel
がTableModelEvent
を生成するときに呼び出されます。TableModelEvent
はモデルの座標系で構築され、イベント受信時にJTable
がビュー座標系への適切なマッピングを実行します。アプリケーション・コードはこれらのメソッドを明示的には使用しません。これらのメソッドは
JTable
が内部的に使用します。1.3では、このメソッドは、必要に応じて選択状態が解除されます。
- 定義:
tableChanged
、インタフェースTableModelListener
- パラメータ:
e
- リスナーに表モデルが変更されたことを通知するTableModelEvent
-
columnAdded
public void columnAdded(TableColumnModelEvent e) テーブル列モデルに列が追加されるときに呼び出されます。アプリケーション・コードはこれらのメソッドを明示的には使用しません。これらのメソッドはJTableが内部的に使用します。
- 定義:
columnAdded
、インタフェースTableColumnModelListener
- パラメータ:
e
-TableColumnModelEvent
- 関連項目:
-
columnRemoved
public void columnRemoved(TableColumnModelEvent e) 列がテーブル列モデルから削除されるときに呼び出されます。アプリケーション・コードはこれらのメソッドを明示的には使用しません。これらのメソッドはJTableが内部的に使用します。
- 定義:
columnRemoved
、インタフェースTableColumnModelListener
- パラメータ:
e
-TableColumnModelEvent
- 関連項目:
-
columnMoved
public void columnMoved(TableColumnModelEvent e) 列が再配置されると呼び出されます。 セルが編集中の場合、編集は停止しセルが再度描画されます。アプリケーション・コードはこれらのメソッドを明示的には使用しません。これらのメソッドはJTableが内部的に使用します。
- 定義:
columnMoved
、インタフェースTableColumnModelListener
- パラメータ:
e
- 受け取ったイベント- 関連項目:
-
columnMarginChanged
public void columnMarginChanged(ChangeEvent e) マージンの変更のために列が移動されるときに呼び出されます。 セルが編集中の場合、編集は停止しセルが再度描画されます。アプリケーション・コードはこれらのメソッドを明示的には使用しません。これらのメソッドはJTableが内部的に使用します。
- 定義:
columnMarginChanged
、インタフェースTableColumnModelListener
- パラメータ:
e
- 受け取ったイベント- 関連項目:
-
columnSelectionChanged
public void columnSelectionChanged(ListSelectionEvent e) TableColumnModel
の選択モデルが変更されるときに呼び出されます。アプリケーション・コードはこれらのメソッドを明示的には使用しません。これらのメソッドはJTableが内部的に使用します。
- 定義:
columnSelectionChanged
、インタフェースTableColumnModelListener
- パラメータ:
e
- 受け取ったイベント- 関連項目:
-
valueChanged
public void valueChanged(ListSelectionEvent e) 行の選択領域が変更されたときに呼び出され、ペイントし直して新しい選択領域を示します。アプリケーション・コードはこれらのメソッドを明示的には使用しません。これらのメソッドはJTableが内部的に使用します。
- 定義:
valueChanged
、インタフェースListSelectionListener
- パラメータ:
e
- 受け取ったイベント- 関連項目:
-
editingStopped
public void editingStopped(ChangeEvent e) 編集が完了したときに呼び出されます。 変更は保存され、エディタは破棄されます。アプリケーション・コードはこれらのメソッドを明示的には使用しません。これらのメソッドはJTableが内部的に使用します。
- 定義:
editingStopped
、インタフェースCellEditorListener
- パラメータ:
e
- 受け取ったイベント- 関連項目:
-
editingCanceled
public void editingCanceled(ChangeEvent e) 編集が取り消されると呼び出されます。 エディタ・オブジェクトが破棄され、セルがもう一度レンダリングされます。アプリケーション・コードはこれらのメソッドを明示的には使用しません。これらのメソッドはJTableが内部的に使用します。
- 定義:
editingCanceled
、インタフェースCellEditorListener
- パラメータ:
e
- 受け取ったイベント- 関連項目:
-
setPreferredScrollableViewportSize
@BeanProperty(bound=false, description="The preferred size of the viewport.") public void setPreferredScrollableViewportSize(Dimension size) このテーブルのビュー・ポートの適切なサイズを設定します。- パラメータ:
size
- ビューがこのテーブルであるJViewport
のpreferredSize
を指定するDimension
オブジェクト- 関連項目:
-
getPreferredScrollableViewportSize
public Dimension getPreferredScrollableViewportSize()このテーブルのビュー・ポートの適切なサイズを返します。- 定義:
getPreferredScrollableViewportSize
、インタフェースScrollable
- 戻り値:
- このテーブルを表示する
JViewport
のpreferredSize
を保持するDimension
オブジェクト - 関連項目:
-
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) 新しい1行または1列を完全に表示するスクロール増分値を(方向に基づいて)ピクセル単位で返します。このメソッドは、ユーザーが単位スクロールを要求するたびに呼び出されます。
- 定義:
getScrollableUnitIncrement
、インタフェースScrollable
- パラメータ:
visibleRect
- ビュー・ポート内の可視のビュー領域orientation
-SwingConstants.VERTICAL
またはSwingConstants.HORIZONTAL
direction
- 上または左にスクロールする場合は0より小さく、下または右にスクロールする場合は0より大きい- 戻り値:
- 指定された方向にスクロールするための「ユニット」増分値
- 関連項目:
-
getScrollableBlockIncrement
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) このテーブルの方向によってvisibleRect.height
またはvisibleRect.width
を返します。 Swing 1.1.1 (Java 2 v 1.2.2)からは、返される値によってビュー・ポイントが行の境界に明確に配置されるようになりました。- 定義:
getScrollableBlockIncrement
、インタフェースScrollable
- パラメータ:
visibleRect
- ビュー・ポート内の可視のビュー領域orientation
- SwingConstants.VERTICALまたはSwingConstants.HORIZONTAL。direction
- 上または左にスクロールする場合は0より小さく、下または右にスクロールする場合は0より大きい。- 戻り値:
- 方向によって、
visibleRect.height
またはvisibleRect.width
- 関連項目:
-
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()autoResizeMode
がAUTO_RESIZE_OFF
に設定されている場合はfalseを返します。これはビュー・ポートの幅がテーブルの幅を決定しないことを示します。 それ以外の場合はtrueを返します。- 定義:
getScrollableTracksViewportWidth
、インタフェースScrollable
- 戻り値:
autoResizeMode
がAUTO_RESIZE_OFF
に設定されている場合はfalse、そうでない場合はtrue- 関連項目:
-
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()getFillsViewportHeight
がtrue
で、テーブルの適切な高さがビュー・ポートの高さより低い場合を除き、false
を返して、ビュー・ポートの高さがテーブルの高さを決めないことを示します。- 定義:
getScrollableTracksViewportHeight
、インタフェースScrollable
- 戻り値:
getFillsViewportHeight
がtrue
で、テーブルをビュー・ポートのサイズに引き伸ばす必要がある場合を除きfalse
- 関連項目:
-
setFillsViewportHeight
@BeanProperty(description="Whether or not this table is always made large enough to fill the height of an enclosing viewport") public void setFillsViewportHeight(boolean fillsViewportHeight) このテーブルを常に囲み側のビュー・ポートの高さに合わせて大きくするかどうかを設定します。 テーブルの適切な高さがビュー・ポートの高さより低い場合、テーブルはビュー・ポートのサイズに引き伸ばされます。 このようにして、テーブルがビュー・ポートより小さくならないようにします。 このプロパティのデフォルトはfalse
です。- パラメータ:
fillsViewportHeight
- このテーブルを常に囲み側のビュー・ポートの高さに合わせて大きくするかどうか- 導入されたバージョン:
- 1.6
- 関連項目:
-
getFillsViewportHeight
public boolean getFillsViewportHeight()このテーブルを常に囲み側のビュー・ポートの高さに合わせて大きくするかどうかを返します。- 戻り値:
- このテーブルを常に囲み側のビュー・ポートの高さに合わせて大きくするかどうか
- 導入されたバージョン:
- 1.6
- 関連項目:
-
createDefaultRenderers
protected void createDefaultRenderers()オブジェクト、数、double値、日付、boolean値、およびアイコンのデフォルトのセル・レンダリングを作成します。- 関連項目:
-
createDefaultEditors
protected void createDefaultEditors()オブジェクト、数、およびboolean値のデフォルトのセル・エディタを作成します。- 関連項目:
-
initializeLocalVars
protected void initializeLocalVars()各テーブル・プロパティをデフォルト値に初期化します。 -
createDefaultDataModel
protected TableModel createDefaultDataModel()DefaultTableModel
であるデフォルトのテーブル・モデル・オブジェクトを返します。 サブクラスはこのメソッドをオーバーライドして、異なるテーブル・モデル・オブジェクトを返すことができます。- 戻り値:
- デフォルトのテーブル・モデル・オブジェクト
- 関連項目:
-
createDefaultColumnModel
protected TableColumnModel createDefaultColumnModel()DefaultTableColumnModel
であるデフォルトの列モデル・オブジェクトを返します。 サブクラスはこのメソッドをオーバーライドして、異なる列モデル・オブジェクトを返すことができます。- 戻り値:
- デフォルトの列モデル・オブジェクト
- 関連項目:
-
createDefaultSelectionModel
protected ListSelectionModel createDefaultSelectionModel()DefaultListSelectionModel
であるデフォルトの選択モデル・オブジェクトを返します。 サブクラスはこのメソッドをオーバーライドして、異なる選択モデル・オブジェクトを返すことができます。- 戻り値:
- デフォルトの選択モデル・オブジェクト
- 関連項目:
-
createDefaultTableHeader
protected JTableHeader createDefaultTableHeader()JTableHeader
であるデフォルトのテーブル・ヘッダー・オブジェクトを返します。 サブクラスはこのメソッドをオーバーライドして、異なるテーブル・ヘッダー・オブジェクトを返すことができます。- 戻り値:
- デフォルトのテーブル・ヘッダー・オブジェクト
- 関連項目:
-
resizeAndRepaint
protected void resizeAndRepaint()revalidate
の後にrepaint
を呼び出すのと同等です。 -
getCellEditor
public TableCellEditor getCellEditor()アクティブなセル・エディタ(テーブルが現在編集中でない場合はnull
)を返します。- 戻り値:
- 編集を行う
TableCellEditor
。テーブルが現在編集中でない場合はnull
。 - 関連項目:
-
setCellEditor
@BeanProperty(description="The table\'s active cell editor.") public void setCellEditor(TableCellEditor anEditor) アクティブなセル・エディタを設定します。- パラメータ:
anEditor
- アクティブなセル・エディタ- 関連項目:
-
setEditingColumn
public void setEditingColumn(int aColumn) editingColumn
変数を設定します。- パラメータ:
aColumn
- 編集されるセルの列- 関連項目:
-
setEditingRow
public void setEditingRow(int aRow) editingRow
変数を設定します。- パラメータ:
aRow
- 編集されるセルの行- 関連項目:
-
getCellRenderer
public TableCellRenderer getCellRenderer(int row, int column) この行と列で指定するセルの適切なレンダリングを返します。 この列のTableColumn
がnull以外のレンダリングを持つ場合は、そのレンダリングを返します。 そうでない場合は、getColumnClass
を使用してこの列のデータのクラスを見つけて、この型のデータのデフォルト・レンダリングを返します。ノート: テーブル・パッケージ全体を通して、内部実装は常にこのメソッドを使用してレンダリングを提供し、デフォルトの動作をサブクラスが安全にオーバーライドできるようにします。
- パラメータ:
row
- レンダリングするセルの行。0は最初の行column
- レンダリングするセルの列。0は最初の列- 戻り値:
- 割り当てられたレンダリング。
null
の場合、この型のオブジェクトのデフォルトのレンダリングを返す - 関連項目:
-
prepareRenderer
public Component prepareRenderer(TableCellRenderer renderer, int row, int column) row
、column
の位置にあるセルの値および選択状態をデータ・モデルに照会して、レンダラを準備します。 イベントの位置にあるコンポーネント(Component
またはJComponent
)を返します。出力操作の間、このメソッドは、選択またはフォーカスを指定することなくレンダリングを設定して、これらを出力対象から除外します。 テーブルを出力するかどうかに基づいてその他のカスタマイズを行う場合は、この位置またはカスタム・レンダリング内の
JComponent.isPaintingForPrint()
の値を確認できます。ノート: テーブル・パッケージ全体を通して、内部実装は常にこのメソッドを使用してレンダリングを準備し、このデフォルトの動作をサブクラスが安全にオーバーライドできるようにします。
- パラメータ:
renderer
- 準備するTableCellRenderer
row
- レンダリングするセルの行。0は最初の行column
- レンダリングするセルの列。0は最初の列- 戻り値:
- イベントの位置にある
Component
-
getCellEditor
public TableCellEditor getCellEditor(int row, int column) row
とcolumn
によって指定されるセルの適切なエディタを返します。 この列のTableColumn
がnull以外のエディタを持つ場合は、そのエディタを返します。 そうでない場合は、getColumnClass
を使用してこの列のデータのクラスを見つけて、この型のデータのデフォルト・エディタを返します。ノート: テーブル・パッケージ全体を通して、内部実装は常にこのメソッドを使用してエディタを提供し、このデフォルトの動作をサブクラスが安全にオーバーライドできるようにします。
- パラメータ:
row
- 編集するセルの行。0は最初の行column
- 編集するセルの列。0は最初の列- 戻り値:
- このセルのエディタ。
null
の場合、この型のセルのデフォルトのエディタを返す - 関連項目:
-
prepareEditor
public Component prepareEditor(TableCellEditor editor, int row, int column) row
、column
の位置にあるセルの値および選択状態をデータ・モデルに照会して、エディタを準備します。ノート: テーブル・パッケージ全体を通して、内部実装は常にこのメソッドを使用してエディタを準備し、このデフォルトの動作をサブクラスが安全にオーバーライドできるようにします。
- パラメータ:
editor
- 設定するTableCellEditor
row
- 編集するセルの行。0は最初の行column
- 編集するセルの列。0は最初の列- 戻り値:
- 編集中の
Component
-
removeEditor
public void removeEditor()エディタ・オブジェクトを破棄して、そのオブジェクトがセル・レンダリングに使った場所を解放します。 -
paramString
protected String paramString()このテーブルの文字列表現を返します。 このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なる可能性があります。 返される文字列は空でもかまいませんが、null
にはできません。- オーバーライド:
paramString
、クラスJComponent
- 戻り値:
- このテーブルの文字列表現
-
print
public boolean print() throws PrinterException印刷ダイアログを表示し、このJTable
を、PrintMode.FIT_WIDTH
モードで、ヘッダー・テキストまたはフッター・テキストを指定せずに印刷する簡易メソッドです。 出力中は、中止オプション付きのモーダルな進捗ダイアログが表示されます。ノート: ヘッドレス・モードでは、ダイアログは表示されず、デフォルトのプリンタを使って出力が行われます。
- 戻り値:
- ユーザーが出力を取り消さないかぎりtrue
- 例外:
SecurityException
- 出力ジョブ要求の開始がこのスレッドに許可されていない場合PrinterException
- 出力システムのエラーが原因でジョブが停止した場合- 導入されたバージョン:
- 1.5
- 関連項目:
-
print
public boolean print(JTable.PrintMode printMode) throws PrinterException 印刷ダイアログを表示し、このJTable
を、指定された印刷モードで、ヘッダー・テキストまたはフッター・テキストを指定せずに印刷する簡易メソッドです。 出力中は、中止オプション付きのモーダルな進捗ダイアログが表示されます。ノート: ヘッドレス・モードでは、ダイアログは表示されず、デフォルトのプリンタを使って出力が行われます。
- パラメータ:
printMode
- Printableが使用する出力モード- 戻り値:
- ユーザーが出力を取り消さないかぎりtrue
- 例外:
SecurityException
- 出力ジョブ要求の開始がこのスレッドに許可されていない場合PrinterException
- 出力システムのエラーが原因でジョブが停止した場合- 導入されたバージョン:
- 1.5
- 関連項目:
-
print
public boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat) throws PrinterException 印刷ダイアログを表示し、このJTable
を、指定された印刷モードで、ヘッダー・テキストまたはフッター・テキストを指定して印刷する簡易メソッドです。 出力中は、中止オプション付きのモーダルな進捗ダイアログが表示されます。ノート: ヘッドレス・モードでは、ダイアログは表示されず、デフォルトのプリンタを使って出力が行われます。
- パラメータ:
printMode
- Printableが使用する出力モードheaderFormat
- ヘッダーの出力に使用されるテキストを示すMessageFormat
。ヘッダーがない場合はnullfooterFormat
- フッターの出力に使用されるテキストを示すMessageFormat
。フッターがない場合はnull- 戻り値:
- ユーザーが出力を取り消さないかぎりtrue
- 例外:
SecurityException
- 出力ジョブ要求の開始がこのスレッドに許可されていない場合PrinterException
- 出力システムのエラーが原因でジョブが停止した場合- 導入されたバージョン:
- 1.5
- 関連項目:
-
print
public boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive) throws PrinterException, HeadlessException 完全指定のprint
メソッドで指定されているとおりに、印刷サービスとして指定されたデフォルト・プリンタを使って、この表を印刷します。- パラメータ:
printMode
- Printableが使用する出力モードheaderFormat
- ヘッダーの出力に使用されるテキストを示すMessageFormat
。ヘッダーがない場合はnull
footerFormat
- フッターの出力に使用されるテキストを示すMessageFormat
。フッターがない場合はnull
showPrintDialog
- 出力ダイアログを表示するかどうかattr
- 出力属性を示すPrintRequestAttributeSet
。出力属性がない場合はnull
interactive
- 対話型モードで出力するかどうか- 戻り値:
- ユーザーが出力を取り消さないかぎりtrue
- 例外:
HeadlessException
- メソッドが出力ダイアログを表示するか、対話型で実行するように求められ、GraphicsEnvironment.isHeadless
がtrue
を返した場合SecurityException
- 出力ジョブ要求の開始がこのスレッドに許可されていない場合PrinterException
- 出力システムのエラーが原因でジョブが停止した場合- 導入されたバージョン:
- 1.5
- 関連項目:
-
print
public boolean print(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive, PrintService service) throws PrinterException, HeadlessException このJTable
を印刷します。 ほとんどの開発者がJTable
の出力に使用するステップを実行します。 手短に言えば、テーブルを準備し、getPrintable
を呼び出して適切なPrintable
を取出し、それをプリンタに送ります。boolean
パラメータを使用すると、出力ダイアログがユーザーに表示されるかどうかを指定できます。 出力ダイアログが表示される場合、ユーザーはこのダイアログを使用して出力先のプリンタや出力属性を変更したり、出力を取り消したりできます。 ほかの2つのパラメータでは、PrintService
と出力属性を指定できます。 これらのパラメータは、出力ダイアログの初期値を指定したり、ダイアログが表示されないときに値を指定するために使用できます。2番目の
boolean
パラメータを使用すると、対話型モードで出力を実行するかどうかを指定できます。true
の場合は、出力中に中止オプションの付いたモーダルな進捗ダイアログが表示されます。 このダイアログでは、テーブルに影響を及ぼすユーザー・アクションを防止することもできます。 ただし、テーブルがコード(SwingUtilities.invokeLater
を使用して更新内容を送る別のスレッドなど)によって変更されないようにすることはできません。 このため、開発者は出力中にテーブルがほかのコードによって決して変更されないようにする必要があります(不正な変更には、サイズ、レンダリング、ベースとなるデータの変更がある)。 出力中にテーブルが変更されると、出力動作は保証されません。このパラメータを
false
に指定すると、ダイアログは表示されず、イベント・ディスパッチ・スレッドで即座に出力が開始されます。 これによって、出力が完了するまでほかのすべてのイベント(再ペイントなど)の処理が中断されます。 これは、テーブルが変更されないようにするには効果的ですが、ユーザー側の手順がありません。 この理由から、表示できるGUIのないアプリケーションから出力するときにのみfalse
を指定することをお勧めします。ノート: ヘッドレス・モードで出力ダイアログを表示するか、対話型で実行しようとすると、
HeadlessException
がスローされます。このメソッドは、Printableを取得する前に、必要に応じてエディタを終了し、出力結果にエディタを表示しないようにします。 また、
JTable
は、出力中に選択とフォーカスが指定されないようにレンダリングを準備します。 テーブルの出力結果をさらにカスタマイズする場合、開発者は、JComponent.isPaintingForPrint()
の値に条件を設定するカスタム・レンダリングまたはペイント・コードを提供できます。テーブルの出力方法の詳細は、
getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)
を参照してください。- パラメータ:
printMode
- Printableが使用する出力モードheaderFormat
- ヘッダーの出力に使用されるテキストを示すMessageFormat
。ヘッダーがない場合はnull
footerFormat
- フッターの出力に使用されるテキストを示すMessageFormat
。フッターがない場合はnull
showPrintDialog
- 出力ダイアログを表示するかどうかattr
- 出力属性を示すPrintRequestAttributeSet
。出力属性がない場合はnull
interactive
- 対話型モードで出力するかどうかservice
- 出力先のPrintService
。デフォルトのプリンタを使用する場合はnull
- 戻り値:
- ユーザーが出力を取り消さないかぎりtrue
- 例外:
HeadlessException
- メソッドが出力ダイアログを表示するか、対話型で実行するように求められ、GraphicsEnvironment.isHeadless
がtrue
を返した場合SecurityException
- セキュリティ・マネージャが存在し、セキュリティ・マネージャのSecurityManager.checkPrintJobAccess()
メソッドにより、このスレッドでの出力ジョブ要求の作成が禁止されている場合PrinterException
- 出力システムのエラーが原因でジョブが停止した場合- 導入されたバージョン:
- 1.6
- 関連項目:
-
getPrintable
public Printable getPrintable(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat) このJTableの印刷に使用するPrintable
を返します。このメソッドは、
JTable
のprint
メソッドによって使用されるデフォルトのPrintable
実装をカスタマイズする手段として使用します。 テーブルを出力するだけの場合は、これらのメソッドのいずれかを直接使用することをお勧めします。Printable
は、2つの出力モードのいずれかで要求できます。 どちらのモードでも、1ページあたりの行数をできるだけ多くして、テーブルの行を順に複数ページにわたって自然に分散させます。PrintMode.NORMAL
は、テーブルが現在のサイズで出力されることを示します。 このモードでは、行の場合と同様に列も複数ページにわたって分散させる必要があります。 必要に応じて、テーブルのComponentOrientation
に見合った順序で列が分散されます。PrintMode.FIT_WIDTH
は、必要に応じて、各ページにテーブルの幅全体(すべての列)が収まるように出力が縮小されることを示します。 幅と高さは均一にスケーリングされ、出力の縦横比が維持されます。Printable
は、各ページのテーブル部分の先頭にテーブルのJTableHeader
からの適切なセクション(存在する場合)を付けます。MessageFormat
引数を指定すると、ヘッダー・テキストとフッター・テキストを出力に追加できます。 出力コードは、それらの形式からStringを要求して、書式付き文字列に含まれる単一の項目(現在のページ番号を表すInteger
)を提供します。一重引用符などの一部の特殊文字にはエスケープが必要となるため、
MessageFormat
のドキュメントをよくお読みください。次に、「Duke's Table: Page - 」と現在のページ番号の出力に使用できる
MessageFormat
の作成例を示します。// notice the escaping of the single quote // notice how the page number is included with "{0}" MessageFormat format = new MessageFormat("Duke''s Table: Page - {0}");
Printable
では、描画する内容を、出力する各ページの出力可能領域に制限します。 場合によっては、ページのすべての内容がその領域に収まらないことがあります。 この場合は、出力がクリップされることがありますが、実装は何らかの妥当な処理をしようと試みます。 次に、このような状況のいくつかの発生例と、この実装によるそれらの対処方法を示します。- すべてのモードで、ヘッダー・テキストまたはフッター・テキストが大きすぎて出力可能領域に完全に収まらない場合 -- テーブルの
ComponentOrientation
によって決められたとおりにテキストの先頭から限度いっぱいまで出力する。 - すべてのモードで、行が長すぎて出力可能領域に収まらない場合 -- 行の最上部分を出力し、くぼみボーダーはテーブルにペイントしない。
PrintMode.NORMAL
で、列が広すぎて出力可能領域に収まらない場合 -- 列の中央部分を出力し、左および右のボーダーをテーブルから外す。
複雑なレポートやドキュメントを作成するために、この
Printable
を別のPrintable内にラップすることはまったく問題ありません。 また、異なるページがサイズの異なる出力可能領域にレンダリングされるように要求することもできます。 実装は、このような状況に対処できる(おそらく実行中にそのレイアウト計算を行うことにより)ように準備されている必要があります。 ただし、PrintMode.NORMAL
で複数ページに列を分散させる必要がある場合は、各ページに異なる高さを指定すると、正しく動作しない可能性があります。出力結果のテーブルの外観をカスタマイズする場合、出力中の選択およびフォーカスの非表示設定は、
JTable
自体によって処理されます。 より細かくカスタマイズする場合は、レンダリングまたはペイント・コードを使用し、JComponent.isPaintingForPrint()
の値に基づいて外観をカスタマイズできますまた、このメソッドを呼び出す前に、まず表の状態を変更(セル編集の取消し、ユーザーによる適切な表サイズの設定など)できます。 ただし、この
Printable
が取得された後は、表の状態を変更しないでください(無効な変更には、サイズの変更や、配下のデータの変更などがあります)。 表に変更を加えた場合、返されるPrintable
の動作は保証されません。- パラメータ:
printMode
- Printableが使用する出力モードheaderFormat
- ヘッダーの出力に使用されるテキストを示すMessageFormat
。ヘッダーがない場合はnullfooterFormat
- フッターの出力に使用されるテキストを示すMessageFormat
。フッターがない場合はnull- 戻り値:
- このJTableを出力するための
Printable
- 導入されたバージョン:
- 1.5
- 関連項目:
- すべてのモードで、ヘッダー・テキストまたはフッター・テキストが大きすぎて出力可能領域に完全に収まらない場合 -- テーブルの
-
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()このJTableに関連付けられたAccessibleContextを取得します。 テーブルの場合、AccessibleContextはAccessibleJTableの形式を取ります。 必要に応じて、新規のAccessibleJTableインスタンスが作成されます。- 定義:
getAccessibleContext
、インタフェースAccessible
- オーバーライド:
getAccessibleContext
、クラスComponent
- 戻り値:
- このJTableのAccessibleContextとして機能するAccessibleJTable
-
new JScrollPane(aTable)
に置き換えられています。