JavaTM 2 Platform
Standard Ed. 5.0

javax.swing
クラス JTable

java.lang.Object
  上位を拡張 java.awt.Component
      上位を拡張 java.awt.Container
          上位を拡張 javax.swing.JComponent
              上位を拡張 javax.swing.JTable
すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, CellEditorListener, ListSelectionListener, TableColumnModelListener, TableModelListener, Scrollable

public class JTable
extends JComponent
implements TableModelListener, Scrollable, TableColumnModelListener, ListSelectionListener, CellEditorListener, Accessible

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 new Integer(row*col); }
      };
      JTable table = new JTable(dataModel);
      JScrollPane scrollpane = new JScrollPane(table);
 

スタンドアロンのビュー (JScrollPane の外側) 内で JTable を使用し、ヘッダを表示する場合は、getTableHeader() を使用してヘッダを取得し、個別に表示できます。

JTable を使用するアプリケーションを設計する場合、テーブルのデータを表現するデータ構造に十分注意する必要があります。DefaultTableModelObjectVectorVector を使用してセルの値を格納する実装のモデルです。アプリケーションから DefaultTableModel にデータをコピーするとともに、上記の例のとおり、データが直接 JTable に渡されるように、TableModel インタフェースのメソッド内のデータをラップすることもできます。これにより、モデルがデータにもっとも適した内部表現を自由に選択できることから、いっそう効果的なアプリケーションを作成できます。AbstractTableModel または DefaultTableModel のどちらを使用するかを決める大まかな指針では、サブクラスを作成するための基底クラスとして AbstractTableModel が使用され、サブクラス化が不要な場合に DefaultTableModel が使用されます。

ソースとして配布される demo 領域の「TableExample」ディレクトリは、多数の JTable の使用方法に関する完全な例を提供します。この例には、データベースから取得するデータの編集可能なビューを提供するために JTable を使用する方法や、特殊なレンダリングやエディタを使用するためにディスプレイ内の列を変更する方法などがあります。

JTable は整数型を排他的に使用して、それが表示するモデルの行と列をどちらも参照します。JTable は単にタブ形式範囲のセルを取得して getValueAt(int, int) を使用し、描画時にモデルから値を取り出します。

デフォルトで、列は JTable で配列し直されて、ビューの列がモデル内の列とは異なる順番で表示されるようになります。これは、モデルの実装にまったく影響を与えません。列の並べ替えを行うときは、JTable は列の新しい順番を内部的に維持し、その列インデックスをモデルの照会前に変換します。

このため、TableModel を記述するときは、ビューで何が起こっているかにかかわらずモデルはそれ自身の座標系で照会されるので、列並べ替えイベントに待機する必要はありません。examples 配下には、列ではなく行の順番を変更するもう 1 つの座標系を挿入するための、この方法を利用した並べ替えアルゴリズムのサンプルが用意されています。

J2SE 5 では、JTable に、一般的な印刷要求を実現できる便利なメソッドを追加しています。新しい print() メソッドを使用するだけで、迅速かつ容易に印刷機能をアプリケーションに追加できます。また、さらに高度な印刷要求には、新しい getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat) メソッドを使用できます。

すべての JComponent クラスに関しては、InputMapActionMap を使用して Action オブジェクトと KeyStroke を関連付け、指定した条件でアクションを実行できます。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK バージョン 1.4 以降、すべての JavaBeans の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。


入れ子のクラスの概要
protected  class JTable.AccessibleJTable
          このクラスは JTable クラス用のユーザ補助機能のサポートを実装しています。
static class JTable.PrintMode
          JTable の印刷に使用する印刷モードです。
 
クラス javax.swing.JComponent から継承された入れ子のクラス/インタフェース
JComponent.AccessibleJComponent
 
クラス java.awt.Container から継承された入れ子のクラス/インタフェース
Container.AccessibleAWTContainer
 
クラス java.awt.Component から継承された入れ子のクラス/インタフェース
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
フィールドの概要
static int AUTO_RESIZE_ALL_COLUMNS
          すべてのサイズ変更操作で、各列を均等にサイズ変更します。
static int AUTO_RESIZE_LAST_COLUMN
          すべてのサイズ変更操作で、最終列だけに調整を適用します。
static int AUTO_RESIZE_NEXT_COLUMN
          列を UI で調整するときは、次の列を逆方向に調整します。
static int AUTO_RESIZE_OFF
          列幅の調整は自動的に行わずに、スクロールバーを使用します。
static int AUTO_RESIZE_SUBSEQUENT_COLUMNS
          UI を調整するときは、それ以降の列を変更して列の合計幅を維持します。
protected  boolean autoCreateColumnsFromModel
          true の場合、列のデフォルトセットを構築するように TableModel に照会します。
protected  int autoResizeMode
          テーブルが幅のサイズを自動変更して各列でテーブル幅全体を占めるようにするかどうかを指定し、そのサイズ変更の方法を指定します。
protected  TableCellEditor cellEditor
          現在のセルが占める画面上の場所を上書きし、ユーザがその内容を変更できるようにするオブジェクトです。
protected  boolean cellSelectionEnabled
          Java 2 プラットフォーム v1.3 では使用しません。
protected  TableColumnModel columnModel
          テーブルの TableColumnModel です。
protected  TableModel dataModel
          テーブルの TableModel です。
protected  Hashtable defaultEditorsByColumnClass
          セルの内容を表示および編集するオブジェクトのテーブルです。
protected  Hashtable defaultRenderersByColumnClass
          セルの内容を表示するオブジェクトのテーブルです。
protected  int editingColumn
          編集中のセルの列を識別します。
protected  int editingRow
          編集中のセルの行を識別します。
protected  Component editorComp
          編集時であれば、編集を処理している Component です。
protected  Color gridColor
          グリッドの色です。
protected  Dimension preferredViewportSize
          Scrollable インタフェースによって使用され、可視領域の初期設定を行います。
protected  int rowHeight
          テーブルの各行の高さをピクセルで表したものです。
protected  int rowMargin
          各行のセル間のマージンの高さをピクセルで表したものです。
protected  boolean rowSelectionAllowed
          このテーブルで行選択が許可されている場合は true です。
protected  Color selectionBackground
          選択されたセルのバックグラウンドカラーです。
protected  Color selectionForeground
          選択されたセルのフォアグラウンドカラーです。
protected  ListSelectionModel selectionModel
          行選択の追跡に使用する、テーブルの ListSelectionModel です。
protected  boolean showHorizontalLines
          showHorizontalLines が true の場合、テーブルはセル間に水平線を描画します。
protected  boolean showVerticalLines
          showVerticalLines が true の場合、テーブルはセル間に垂直線を描画します。
protected  JTableHeader tableHeader
          テーブルの TableHeader です。
 
クラス 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
 
インタフェース java.awt.image.ImageObserver から継承されたフィールド
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
コンストラクタの概要
JTable()
          デフォルトデータモデル、デフォルト列モデル、およびデフォルト選択モデルで初期化される、デフォルトの JTable を構築します。
JTable(int numRows, int numColumns)
          DefaultTableModel を使用して、空のセルの numRowsnumColumnsJTable を構築します。
JTable(Object[][] rowData, Object[] columnNames)
          2 次元配列 rowData の値を表示する JTable を、列名 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 を構築します。
JTable(Vector rowData, Vector columnNames)
          VectorsVector の値を表示する JTable、つまり rowData を、列名 columnNames で構築します。
 
メソッドの概要
 void addColumn(TableColumn aColumn)
          この JTable の列モデルが保持する列の配列の末尾に aColumn を追加します。
 void addColumnSelectionInterval(int index0, int index1)
          index0 から index1 までの列 (上下限値を含む) を現在の選択領域に追加します。
 void addNotify()
          configureEnclosingScrollPane メソッドを呼び出します。
 void addRowSelectionInterval(int index0, int index1)
          index0 から index1 までの行 (上下限値を含む) を現在の選択領域に追加します。
 void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
          toggleextend の 2 つのフラグの状態によって、テーブルの選択モデルを更新します。
 void clearSelection()
          選択されているすべての列および行を選択解除します。
 void columnAdded(TableColumnModelEvent e)
          テーブル列モデルに列が追加されるときに呼び出されます。
 int columnAtPoint(Point point)
          point が存在する場合はその列のインデックス、結果が [0, getColumnCount()-1] の範囲内にない場合は -1 を返します。
 void columnMarginChanged(ChangeEvent e)
          マージン変更のために列が移動されたときに呼び出されます。
 void columnMoved(TableColumnModelEvent e)
          列が配置し直されたときに呼び出されます。
 void columnRemoved(TableColumnModelEvent e)
          列がテーブル列モデルから削除されるときに呼び出されます。
 void columnSelectionChanged(ListSelectionEvent e)
          TableColumnModel の選択モデルが変更されるときに呼び出されます。
protected  void configureEnclosingScrollPane()
          通常はこの JTable が囲み側 JScrollPaneviewportView ですが、その場合、特にテーブルの tableHeader をスクロール区画の columnHeaderView としてインストールすることによって、この ScrollPane の設定を行います。
 int convertColumnIndexToModel(int viewColumnIndex)
          viewColumnIndex のビュー内の列のインデックスを、テーブルモデル内の列のインデックスにマッピングします。
 int convertColumnIndexToView(int modelColumnIndex)
          modelColumnIndex のテーブルモデル内の列のインデックスを、ビュー内の列のインデックスにマッピングします。
protected  TableColumnModel createDefaultColumnModel()
          DefaultTableColumnModel であるデフォルトの列モデルオブジェクトを返します。
 void createDefaultColumnsFromModel()
          このメソッドは TableModel インタフェースで定義された getColumnCount メソッドを使用して、データモデルからテーブルのデフォルトの列を作成します。
protected  TableModel createDefaultDataModel()
          DefaultTableModel であるデフォルトのテーブルモデルオブジェクトを返します。
protected  void createDefaultEditors()
          オブジェクト、数、および boolean 値のデフォルトのセルエディタを作成します。
protected  void createDefaultRenderers()
          オブジェクト、数、double 値、日付、boolean 値、およびアイコンのデフォルトのセルレンダリングを作成します。
protected  ListSelectionModel createDefaultSelectionModel()
          DefaultListSelectionModel であるデフォルトの選択モデルオブジェクトを返します。
protected  JTableHeader createDefaultTableHeader()
          JTableHeader であるデフォルトのテーブルヘッダオブジェクトを返します。
static JScrollPane createScrollPaneForTable(JTable aTable)
          推奨されていません。 Swing バージョン 1.0.2 で new JScrollPane(aTable) に置き換えられました。
 void doLayout()
          このテーブルに行と列をレイアウトさせます。
 boolean editCellAt(int row, int column)
          row および column に位置するセルのインデックスが有効な範囲内にあり、その位置にあるセルが編集可能な場合は、セルの編集をプログラムに基づいて開始します。
 boolean editCellAt(int row, int column, EventObject e)
          rowcolumn に位置するセルのインデックスが有効な範囲内にあり、その位置にあるセルが編集可能な場合は、セルの編集をプログラムに基づいて開始します。
 void editingCanceled(ChangeEvent e)
          編集が取り消されると呼び出されます。
 void editingStopped(ChangeEvent e)
          編集が完了したときに呼び出されます。
 AccessibleContext getAccessibleContext()
          この JTable に関連した AccessibleContext を返します。
 boolean getAutoCreateColumnsFromModel()
          テーブルがデフォルトの列をモデルから作成するかどうかを指定します。
 int getAutoResizeMode()
          テーブルの自動サイズ変更モードを返します。
 TableCellEditor getCellEditor()
          セルエディタを返します。
 TableCellEditor getCellEditor(int row, int column)
          rowcolumn が指定するセルの適切なエディタを返します。
 Rectangle getCellRect(int row, int column, boolean includeSpacing)
          rowcolumn が交差する位置のセルの矩形を返します。
 TableCellRenderer getCellRenderer(int row, int column)
          この行と列で指定するセルの適切なレンダリングを返します。
 boolean getCellSelectionEnabled()
          行選択モデルと列選択モデルの両方が可能な場合は true を返します。
 TableColumn getColumn(Object identifier)
          equals を使用して比較し、識別子が identifier に等しいテーブル内の列の TableColumn オブジェクトを返します。
 Class<?> getColumnClass(int column)
          列位置 column のビューに表示される列の型を返します。
 int getColumnCount()
          列モデル内の列数を返します。
 TableColumnModel getColumnModel()
          このテーブルのすべての列情報を保持する TableColumnModel を返します。
 String getColumnName(int column)
          列位置 column のビューに表示される列の名前を返します。
 boolean getColumnSelectionAllowed()
          列が選択できる場合は true を返します。
 TableCellEditor getDefaultEditor(Class<?> columnClass)
          TableColumn にエディタが設定されていない場合に使用するエディタを返します。
 TableCellRenderer getDefaultRenderer(Class<?> columnClass)
          TableColumn にレンダリングが設定されていない場合に使用する、セルレンダリングを返します。
 boolean getDragEnabled()
          dragEnabled プロパティの値を返します。
 int getEditingColumn()
          現在編集中のセルを含む列のインデックスを返します。
 int getEditingRow()
          現在編集中のセルを含む行のインデックスを返します。
 Component getEditorComponent()
          編集セッションを処理しているコンポーネントを返します。
 Color getGridColor()
          グリッド線の描画に使用する色を返します。
 Dimension getIntercellSpacing()
          セル間の水平間隔と垂直間隔を返します。
 TableModel getModel()
          この JTable が表示するデータを提供する TableModel を返します。
 Dimension getPreferredScrollableViewportSize()
          このテーブルのビューポートの適切なサイズを返します。
 Printable getPrintable(JTable.PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat)
          この JTable の印刷に使用する Printable を返します。
 int getRowCount()
          このテーブルのモデル内の行数を返します。
 int getRowHeight()
          テーブル行の高さをピクセルで返します。
 int getRowHeight(int row)
          row のセルの高さをピクセル単位で返します。
 int getRowMargin()
          セルの間隔をピクセル単位で返します。
 boolean getRowSelectionAllowed()
          行を選択できる場合に true を返します。
 int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
          このテーブルの方向によって visibleRect.height または visibleRect.width を返します。
 boolean getScrollableTracksViewportHeight()
          false を返して、ビューポートの高さがテーブルの高さを決定しないことを示します。
 boolean getScrollableTracksViewportWidth()
          autoResizeModeAUTO_RESIZE_OFF に設定されている場合は false を返します。
 int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
          新しい 1 行または 1 列を完全に表示するスクロール増分値を (方向に基づいて) ピクセル単位で返します。
 int getSelectedColumn()
          最初に選択された列のインデックスを返すか、列が選択されていない場合は -1 を返します。
 int getSelectedColumnCount()
          選択されている列の数を返します。
 int[] getSelectedColumns()
          選択されたすべての列のインデックスを返します。
 int getSelectedRow()
          最初に選択された行のインデックスを返すか、行が選択されていない場合は -1 を返します。
 int getSelectedRowCount()
          選択された行数を返します。
 int[] getSelectedRows()
          選択されたすべての行のインデックスを返します。
 Color getSelectionBackground()
          選択されたセルのバックグラウンドカラーを返します。
 Color getSelectionForeground()
          選択されているセルのフォアグラウンドカラーを返します。
 ListSelectionModel getSelectionModel()
          行選択状態の維持に使用する ListSelectionModel を返します。
 boolean getShowHorizontalLines()
          テーブルがセル間に水平線を描画する場合は true、描画しない場合は false を返します。
 boolean getShowVerticalLines()
          テーブルがセル間に垂直線を描画する場合は true、描画しない場合は false を返します。
 boolean getSurrendersFocusOnKeystroke()
          キーボードがエディタをアクティブ化したときにエディタがフォーカスを取得する場合は true を返します。
 JTableHeader getTableHeader()
          この JTable が使用する tableHeader を返します。
 String getToolTipText(MouseEvent event)
          JComponentgetToolTipText メソッドをオーバーライドして、テキストセットがある場合、レンダリングのヒントを使用できるようにします。
 TableUI getUI()
          このコンポーネントを描画する L&F オブジェクトを返します。
 String getUIClassID()
          Look & Feel クラスの名前の構築に使用された接尾辞を返します。
 Object getValueAt(int row, int column)
          rowcolumn に位置するセル値を返します。
protected  void initializeLocalVars()
          各テーブルプロパティをデフォルト値に初期化します。
 boolean isCellEditable(int row, int column)
          rowcolumn に位置するセルが編集可能な場合に true を返します。
 boolean isCellSelected(int row, int column)
          指定されたインデックスが有効な行および列の範囲内にあり、指定された位置にあるセルが選択されている場合は true を返します。
 boolean isColumnSelected(int column)
          指定されたインデックスが有効な列の範囲内にあり、そのインデックスで示される列が選択されている場合は true を返します。
 boolean isEditing()
          セルを編集中の場合は true を返します。
 boolean isRowSelected(int row)
          指定されたインデックスが有効な行の範囲内にあり、そのインデックスで示される行が選択されている場合は true を返します。
 void moveColumn(int column, int targetColumn)
          column の列を、ビュー内の targetColumn の列が現在占める位置に移動します。
protected  String paramString()
          このテーブルの文字列表現を返します。
 Component prepareEditor(TableCellEditor editor, int row, int column)
          rowcolumn の位置にあるセルの値および選択状態をデータモデルに照会して、エディタを準備します。
 Component prepareRenderer(TableCellRenderer renderer, int row, int column)
          rowcolumn の位置にあるセルの値および選択状態をデータモデルに照会して、レンダリングを準備します。
 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)
          この JTable を印刷します。
protected  boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
          KeyEvent e の結果として ks のキーバインドを処理するために呼び出されます。
 void removeColumn(TableColumn aColumn)
          aColumn をこの JTable の列配列から削除します。
 void removeColumnSelectionInterval(int index0, int index1)
          index0 から index1 までの列 (上下限値を含む) を選択解除します。
 void removeEditor()
          エディタオブジェクトを破棄して、そのオブジェクトがセル描画に使った場所を解放します。
 void removeNotify()
          unconfigureEnclosingScrollPane メソッドを呼び出します。
 void removeRowSelectionInterval(int index0, int index1)
          index0 から index1 までの行 (上下限値を含む) を選択解除します。
protected  void resizeAndRepaint()
          revalidate のあとに repaint を呼び出すのと同等です。
 int rowAtPoint(Point point)
          point が存在する場合はその行のインデックス、結果が [0, getRowCount()-1] の範囲内にない場合は -1 を返します。
 void selectAll()
          テーブルのすべての行、列、およびセルを選択します。
 void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
          このテーブルの autoCreateColumnsFromModel フラグを設定します。
 void setAutoResizeMode(int mode)
          テーブルのサイズ変更時にテーブルの自動サイズ変更モードを設定します。
 void setCellEditor(TableCellEditor anEditor)
          cellEditor 変数を設定します。
 void setCellSelectionEnabled(boolean cellSelectionEnabled)
          列選択と行選択の同時実行をこのテーブルが許可するかどうかを設定します。
 void setColumnModel(TableColumnModel columnModel)
          このテーブルの列モデルを newModel に設定し、新しい列モデルからのリスナー通知を登録します。
 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)
          dragEnabled プロパティを設定します。
 void setEditingColumn(int aColumn)
          editingColumn 変数を設定します。
 void setEditingRow(int aRow)
          editingRow 変数を設定します。
 void setGridColor(Color gridColor)
          グリッド線の描画に使用する色を gridColor に設定し、再表示します。
 void setIntercellSpacing(Dimension intercellSpacing)
          rowMargincolumnMargin、つまりセル間のスペースの高さと幅を、intercellSpacing に設定します。
 void setModel(TableModel dataModel)
          このテーブルのデータモデルを newModel に設定し、それに新しいデータモデルからのリスナー通知を登録します。
 void setPreferredScrollableViewportSize(Dimension size)
          このテーブルのビューポートの望ましいサイズを設定します。
 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 setSelectionBackground(Color selectionBackground)
          選択されたセルのバックグラウンドカラーを設定します。
 void setSelectionForeground(Color selectionForeground)
          選択されたセルのフォアグラウンドカラーを設定します。
 void setSelectionMode(int selectionMode)
          テーブルの選択モードを設定すると、単一項目選択、連続区間の選択、または連続区間の複数選択を可能にできます。
 void setSelectionModel(ListSelectionModel newModel)
          このテーブルの行選択モデルを newModel に設定し、新しい選択モデルからのリスナー通知を登録します。
 void setShowGrid(boolean showGrid)
          テーブルがセルの周囲にグリッド線を描画するかどうかを設定します。
 void setShowHorizontalLines(boolean showHorizontalLines)
          テーブルがセル間に水平線を描画するかどうかを設定します。
 void setShowVerticalLines(boolean showVerticalLines)
          テーブルがセル間に垂直線を描画するかどうかを設定します。
 void setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
          JTable がセルのキーボードイベントを転送した結果として、この JTable のエディタがキーボードフォーカスを取得するかどうかを設定します。
 void setTableHeader(JTableHeader tableHeader)
          この JTabletableHeadernewHeader に設定します。
 void setUI(TableUI ui)
          このコンポーネントを描画してペイントし直す L&F オブジェクトを設定します。
 void setValueAt(Object aValue, int row, int column)
          テーブルモデル内の rowcolumn に位置するセルの値を設定します。
 void sizeColumnsToFit(boolean lastColumnOnly)
          推奨されていません。 Swing バージョン 1.0.3 以降は、doLayout() に置き換えられました。
 void sizeColumnsToFit(int resizingColumn)
          Java 2 プラットフォーム v1.4 では使用しません。
 void tableChanged(TableModelEvent e)
          このテーブルの TableModelTableModelEvent を生成するときに呼び出されます。
protected  void unconfigureEnclosingScrollPane()
          囲み側のスクロール区画の columnHeaderViewnull に置き換えることによって、configureEnclosingScrollPane の効果を取り消します。
 void updateUI()
          L&F が変更されたという UIManager からの通知です。
 void valueChanged(ListSelectionEvent e)
          行の選択領域が変更されたときに呼び出され、ペイントし直して新しい選択領域を示します。
 
クラス javax.swing.JComponent から継承されたメソッド
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, 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, transferFocusBackward, 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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

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_COLUMNS
UI を調整するときは、それ以降の列を変更して列の合計幅を維持します。これはデフォルトの動作です。

関連項目:
定数フィールド値

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 showHorizontalLines
showHorizontalLines が true の場合、テーブルはセル間に水平線を描画します。


showVerticalLines

protected boolean showVerticalLines
showVerticalLines が true の場合、テーブルはセル間に垂直線を描画します。


autoResizeMode

protected int autoResizeMode
テーブルが幅のサイズを自動変更して各列でテーブル幅全体を占めるようにするかどうかを指定し、そのサイズ変更の方法を指定します。


autoCreateColumnsFromModel

protected boolean autoCreateColumnsFromModel
true の場合、列のデフォルトセットを構築するように TableModel に照会します。


preferredViewportSize

protected Dimension preferredViewportSize
Scrollable インタフェースによって使用され、可視領域の初期設定を行います。


rowSelectionAllowed

protected boolean rowSelectionAllowed
このテーブルで行選択が許可されている場合は true です。


cellSelectionEnabled

protected boolean cellSelectionEnabled
Java 2 プラットフォーム v1.3 では使用しません。代わりに columnModelrowSelectionAllowed プロパティおよび columnSelectionAllowed プロパティを使用してください。もしくは getCellSelectionEnabled メソッドを使用してください。


editorComp

protected transient Component editorComp
編集時であれば、編集を処理している Component です。


cellEditor

protected transient TableCellEditor cellEditor
現在のセルが占める画面上の場所を上書きし、ユーザがその内容を変更できるようにするオブジェクトです。


editingColumn

protected transient int editingColumn
編集中のセルの列を識別します。


editingRow

protected transient int editingRow
編集中のセルの行を識別します。


defaultRenderersByColumnClass

protected transient Hashtable defaultRenderersByColumnClass
セルの内容を表示するオブジェクトのテーブルです。TableModel インタフェースの getColumnClass で宣言されたクラスによるインデックスが付いています。


defaultEditorsByColumnClass

protected transient Hashtable defaultEditorsByColumnClass
セルの内容を表示および編集するオブジェクトのテーブルです。TableModel インタフェースの getColumnClass で宣言されたクラスによるインデックスが付いています。


selectionForeground

protected Color selectionForeground
選択されたセルのフォアグラウンドカラーです。


selectionBackground

protected Color selectionBackground
選択されたセルのバックグラウンドカラーです。

コンストラクタの詳細

JTable

public JTable()
デフォルトデータモデル、デフォルト列モデル、およびデフォルト選択モデルで初期化される、デフォルトの JTable を構築します。

関連項目:
createDefaultDataModel(), createDefaultColumnModel(), createDefaultSelectionModel()

JTable

public JTable(TableModel dm)
データモデル dm、デフォルト列モデル、およびデフォルト選択モデルで初期化される JTable を構築します。

パラメータ:
dm - テーブルのデータモデル
関連項目:
createDefaultColumnModel(), createDefaultSelectionModel()

JTable

public JTable(TableModel dm,
              TableColumnModel cm)
データモデル dm、列モデル cm、およびデフォルト選択モデルで初期化される JTable を構築します。

パラメータ:
dm - テーブルのデータモデル
cm - テーブルの列モデル
関連項目:
createDefaultSelectionModel()

JTable

public JTable(TableModel dm,
              TableColumnModel cm,
              ListSelectionModel sm)
データモデル dm、列モデル cm、および選択モデル sm で初期化される JTable を構築します。パラメータのどれかが null の場合、このメソッドは対応するデフォルトモデルでテーブルを初期化します。autoCreateColumnsFromModel フラグは cm が null 以外の場合は false に、そうでない場合は true に設定され、列モデルには dm 内の列に適した TableColumns が入ります。

パラメータ:
dm - テーブルのデータモデル
cm - テーブルの列モデル
sm - テーブルの行選択モデル
関連項目:
createDefaultDataModel(), createDefaultColumnModel(), createDefaultSelectionModel()

JTable

public JTable(int numRows,
              int numColumns)
DefaultTableModel を使用して、空のセルの numRowsnumColumnsJTable を構築します。列は、「A」、「B」、「C」といった形式の名前を持ちます。

パラメータ:
numRows - テーブルが保持する行数
numColumns - テーブルが保持する列数
関連項目:
DefaultTableModel

JTable

public JTable(Vector rowData,
              Vector columnNames)
VectorsVector の値を表示する JTable、つまり rowData を、列名 columnNames で構築します。rowData に格納された Vectors は、その行の値を保持する必要があります。つまり、行 1、列 5 に位置するセルの値は次のコードで取得できます。

((Vector)rowData.elementAt(1)).elementAt(5);

パラメータ:
rowData - 新しいテーブルのデータ
columnNames - 各列の名前

JTable

public JTable(Object[][] rowData,
              Object[] columnNames)
2 次元配列 rowData の値を表示する JTable を、列名 columnNames で構築します。rowData は行の配列なので、行 1、列 5 に位置するセルの値は次のコードで取得できます。

 rowData[1][5];
 

すべての行は、columnNames と同じ長さになる必要があります。

パラメータ:
rowData - 新しいテーブルのデータ
columnNames - 各列の名前
メソッドの詳細

addNotify

public void addNotify()
configureEnclosingScrollPane メソッドを呼び出します。

オーバーライド:
クラス JComponent 内の addNotify
関連項目:
configureEnclosingScrollPane()

configureEnclosingScrollPane

protected void configureEnclosingScrollPane()
通常はこの JTable が囲み側 JScrollPaneviewportView ですが、その場合、特にテーブルの tableHeader をスクロール区画の columnHeaderView としてインストールすることによって、この ScrollPane の設定を行います。new JScrollPane(myTable) を使用して通常の方法で JTableJScrollPane に追加すると、テーブルがビューポートに追加されるときに addNotifyJTable で呼び出されます。次に JTableaddNotify メソッドがこのメソッドを呼び出します。このメソッドは、デフォルトのインストールプロシージャをサブクラスがオーバーライドできるように保護されています。

関連項目:
addNotify()

removeNotify

public void removeNotify()
unconfigureEnclosingScrollPane メソッドを呼び出します。

オーバーライド:
クラス JComponent 内の removeNotify
関連項目:
unconfigureEnclosingScrollPane()

unconfigureEnclosingScrollPane

protected void unconfigureEnclosingScrollPane()
囲み側のスクロール区画の columnHeaderViewnull に置き換えることによって、configureEnclosingScrollPane の効果を取り消します。JTableremoveNotify メソッドがこのメソッドを呼び出します。このメソッドは、このデフォルトのインストール解除プロシージャをサブクラスがオーバーライドできるように保護されています。

関連項目:
removeNotify(), configureEnclosingScrollPane()

createScrollPaneForTable

@Deprecated
public static JScrollPane createScrollPaneForTable(JTable aTable)
推奨されていません。 Swing バージョン 1.0.2 で new JScrollPane(aTable) に置き換えられました。

new JScrollPane(aTable) と同等です。


setTableHeader

public void setTableHeader(JTableHeader tableHeader)
この JTabletableHeadernewHeader に設定します。nulltableHeader は有効です。

パラメータ:
tableHeader - 新しい tableHeader
関連項目:
getTableHeader()

getTableHeader

public JTableHeader getTableHeader()
この JTable が使用する tableHeader を返します。

戻り値:
このテーブルが使用する tableHeader
関連項目:
setTableHeader(javax.swing.table.JTableHeader)

setRowHeight

public void setRowHeight(int rowHeight)
すべてのセルの高さをピクセルで rowHeight に設定し、再確認し、ペイントし直します。このセルの高さは、行の高さから行マージンを引いたものです。

パラメータ:
rowHeight - 新しい行の高さ
例外:
IllegalArgumentException - rowHeight が 1 未満の場合
関連項目:
getRowHeight()

getRowHeight

public int getRowHeight()
テーブル行の高さをピクセルで返します。デフォルトの行の高さは 16.0 です。

戻り値:
ピクセル単位のテーブル行の高さ
関連項目:
setRowHeight(int)

setRowHeight

public void setRowHeight(int row,
                         int rowHeight)
row の高さを rowHeight に設定し、再確認し、ペイントし直します。この行のセルの高さは、行の高さから行マージンを引いたものです。

パラメータ:
row - 高さが変更される行
rowHeight - ピクセル単位での新しい行の高さ
例外:
IllegalArgumentException - rowHeight が 1 未満の場合

getRowHeight

public int getRowHeight(int row)
row のセルの高さをピクセル単位で返します。

パラメータ:
row - 高さが返される行
戻り値:
ピクセル単位での行のセルの高さ

setRowMargin

public void setRowMargin(int rowMargin)
隣接する行のセルの間隔を設定します。

パラメータ:
rowMargin - 行のセル間のピクセル数
関連項目:
getRowMargin()

getRowMargin

public int getRowMargin()
セルの間隔をピクセル単位で返します。getIntercellSpacing().height と同等です。

戻り値:
行のセル間のピクセル数
関連項目:
setRowMargin(int)

setIntercellSpacing

public void setIntercellSpacing(Dimension intercellSpacing)
rowMargincolumnMargin、つまりセル間のスペースの高さと幅を、intercellSpacing に設定します。

パラメータ:
intercellSpacing - セル間の新しい幅と高さを指定する Dimension
関連項目:
getIntercellSpacing()

getIntercellSpacing

public Dimension getIntercellSpacing()
セル間の水平間隔と垂直間隔を返します。デフォルト間隔は、グリッドを描画するスペースを提供する (1, 1) です。

戻り値:
セル間の水平間隔と垂直間隔
関連項目:
setIntercellSpacing(java.awt.Dimension)

setGridColor

public void setGridColor(Color gridColor)
グリッド線の描画に使用する色を gridColor に設定し、再表示します。デフォルトの色は Look & Feel に依存します。

パラメータ:
gridColor - グリッド線の新しい色
例外:
IllegalArgumentException - gridColornull の場合
関連項目:
getGridColor()

getGridColor

public Color getGridColor()
グリッド線の描画に使用する色を返します。デフォルトの色は Look & Feel に依存します。

戻り値:
グリッド線の描画に使用する色
関連項目:
setGridColor(java.awt.Color)

setShowGrid

public void setShowGrid(boolean showGrid)
テーブルがセルの周囲にグリッド線を描画するかどうかを設定します。showGrid が true の場合は描画し、false の場合は描画しません。この状態はそれぞれが別々に照会される showHorizontalLinesshowVerticalLines という 2 つの変数で保持されるので、getShowGrid メソッドはありません。

パラメータ:
showGrid - テーブルビューがグリッド線を描画する場合は true
関連項目:
setShowVerticalLines(boolean), setShowHorizontalLines(boolean)

setShowHorizontalLines

public void setShowHorizontalLines(boolean showHorizontalLines)
テーブルがセル間に水平線を描画するかどうかを設定します。showHorizontalLines が true の場合は描画し、false の場合は描画しません。

パラメータ:
showHorizontalLines - テーブルビューが水平線を描画する場合は true
関連項目:
getShowHorizontalLines(), setShowGrid(boolean), setShowVerticalLines(boolean)

setShowVerticalLines

public void setShowVerticalLines(boolean showVerticalLines)
テーブルがセル間に垂直線を描画するかどうかを設定します。showVerticalLines が true の場合は描画し、false の場合は描画しません。

パラメータ:
showVerticalLines - テーブルビューが垂直線を描画する場合は true
関連項目:
getShowVerticalLines(), setShowGrid(boolean), setShowHorizontalLines(boolean)

getShowHorizontalLines

public boolean getShowHorizontalLines()
テーブルがセル間に水平線を描画する場合は true、描画しない場合は false を返します。デフォルトは true です。

戻り値:
テーブルがセル間に水平線を描画する場合は true、描画しない場合は false
関連項目:
setShowHorizontalLines(boolean)

getShowVerticalLines

public boolean getShowVerticalLines()
テーブルがセル間に垂直線を描画する場合は true、描画しない場合は false を返します。デフォルトは true です。

戻り値:
テーブルがセル間に垂直線を描画する場合は true、描画しない場合は false
関連項目:
setShowVerticalLines(boolean)

setAutoResizeMode

public void setAutoResizeMode(int mode)
テーブルのサイズ変更時にテーブルの自動サイズ変更モードを設定します。

パラメータ:
mode - 次の 5 つの有効値のどれか。AUTO_RESIZE_OFF、AUTO_RESIZE_NEXT_COLUMN、AUTO_RESIZE_SUBSEQUENT_COLUMNS、AUTO_RESIZE_LAST_COLUMN、AUTO_RESIZE_ALL_COLUMNS
関連項目:
getAutoResizeMode(), doLayout()

getAutoResizeMode

public int getAutoResizeMode()
テーブルの自動サイズ変更モードを返します。デフォルトモードは AUTO_RESIZE_SUBSEQUENT_COLUMNS です。

戻り値:
テーブルの autoResizeMode
関連項目:
setAutoResizeMode(int), doLayout()

setAutoCreateColumnsFromModel

public void setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
このテーブルの autoCreateColumnsFromModel フラグを設定します。このメソッドは、autoCreateColumnsFromModel が false から true に変更された場合に createDefaultColumnsFromModel を呼び出します。

パラメータ:
autoCreateColumnsFromModel - JTable が列を自動作成する場合は true
関連項目:
getAutoCreateColumnsFromModel(), createDefaultColumnsFromModel()

getAutoCreateColumnsFromModel

public boolean getAutoCreateColumnsFromModel()
テーブルがデフォルトの列をモデルから作成するかどうかを指定します。true の場合、setModel は既存の列をクリアして、新しいモデルから新しい列を作成します。また、tableChanged 通知のイベントが、テーブル全体が変更されたことを示している場合は、列が再構築されます。デフォルトは true です。

戻り値:
テーブルの autoCreateColumnsFromModel
関連項目:
setAutoCreateColumnsFromModel(boolean), createDefaultColumnsFromModel()

createDefaultColumnsFromModel

public void createDefaultColumnsFromModel()
このメソッドは TableModel インタフェースで定義された getColumnCount メソッドを使用して、データモデルからテーブルのデフォルトの列を作成します。

モデルからの情報に基づいて新しい列を作成する前に、既存の列があればそれをクリアします。

関連項目:
getAutoCreateColumnsFromModel()

setDefaultRenderer

public void setDefaultRenderer(Class<?> columnClass,
                               TableCellRenderer renderer)
TableColumn にレンダリングが設定されていない場合に使用する、デフォルトのセルレンダリングを設定します。レンダリングが null の場合は、この列クラスのデフォルトのレンダリングを削除します。

パラメータ:
columnClass - この columnClass にデフォルトのセルレンダリングを設定
renderer - この columnClass に使用するデフォルトのセルレンダリング
関連項目:
getDefaultRenderer(java.lang.Class), setDefaultEditor(java.lang.Class, javax.swing.table.TableCellEditor)

getDefaultRenderer

public TableCellRenderer getDefaultRenderer(Class<?> columnClass)
TableColumn にレンダリングが設定されていない場合に使用する、セルレンダリングを返します。セルの描画時には、レンダリングは列内のセルのクラスに基づいてエントリの Hashtable から取得されます。この columnClass にエントリがない場合、このメソッドはもっとも明確なスーパークラスのエントリを返します。JTable は、そのすべてを変更または置換できる ObjectNumber、および Boolean のエントリをインストールします。

パラメータ:
columnClass - この columnClass のデフォルトのセルレンダリングを返す
戻り値:
この columnClass のレンダリング
関連項目:
setDefaultRenderer(java.lang.Class, javax.swing.table.TableCellRenderer), getColumnClass(int)

setDefaultEditor

public void setDefaultEditor(Class<?> columnClass,
                             TableCellEditor editor)
TableColumn にエディタが設定されていない場合に使用する、デフォルトのセルエディタを設定します。テーブルまたはテーブル内の特定の列で編集が必要ない場合は、TableModel インタフェースの isCellEditable メソッドを使用して、この JTable がこうした列でエディタを起動することのないようにします。エディタが null の場合は、この列クラスからデフォルトのエディタを削除します。

パラメータ:
columnClass - この columnClass にデフォルトのセルエディタを設定する
editor - この columnClass に使用するデフォルトのセルエディタ
関連項目:
TableModel.isCellEditable(int, int), getDefaultEditor(java.lang.Class), setDefaultRenderer(java.lang.Class, javax.swing.table.TableCellRenderer)

getDefaultEditor

public TableCellEditor getDefaultEditor(Class<?> columnClass)
TableColumn にエディタが設定されていない場合に使用するエディタを返します。セルの編集時には、エディタは列内のセルのクラスに基づいてエントリの Hashtable から取得されます。この columnClass にエントリがない場合、このメソッドはもっとも明確なスーパークラスのエントリを返します。JTable は、そのすべてを変更または置換できる ObjectNumber、および Boolean のエントリをインストールします。

パラメータ:
columnClass - この columnClass のデフォルトのセルエディタを返す
戻り値:
この columnClass に使用するデフォルトのセルエディタ
関連項目:
setDefaultEditor(java.lang.Class, javax.swing.table.TableCellEditor), getColumnClass(int)

setDragEnabled

public void setDragEnabled(boolean b)
dragEnabled プロパティを設定します。このプロパティは、このコンポーネントの自動ドラッグ処理 (ドラッグ&ドロップの最初の処理) を有効にするために true になっている必要があります。transferHandler プロパティは、ドラッグで何でもできるように null 以外の値に設定する必要があります。dragEnabled プロパティのデフォルトの値は false です。

自動ドラッグ処理が有効の場合、ほとんどの Look & Feel は、ユーザが選択のためにマウスボタンを押して、マウスを数ピクセル移動すると常にドラッグ&ドロップ操作が始まります。したがって、このプロパティを true に設定することにより、選択の動作に微妙な効果があります。

一部の Look & Feel は自動ドラッグ&ドロップ操作をサポートしない場合があります。これらはこのプロパティを無視します。直接 TransferHandlerexportAsDrag メソッドを呼び出してコンポーネントを変更することにより、このような Look & Feel を操作することができます。

パラメータ:
b - dragEnabled プロパティに設定される値
例外:
HeadlessException - btrue の場合で GraphicsEnvironment.isHeadless()true を返す場合
導入されたバージョン:
1.4
関連項目:
GraphicsEnvironment.isHeadless(), getDragEnabled(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDragEnabled

public boolean getDragEnabled()
dragEnabled プロパティの値を返します。

戻り値:
dragEnabled プロパティの値
導入されたバージョン:
1.4
関連項目:
setDragEnabled(boolean)

setSelectionMode

public void setSelectionMode(int selectionMode)
テーブルの選択モードを設定すると、単一項目選択、連続区間の選択、または連続区間の複数選択を可能にできます。

注: JTable は、列と行の選択を処理するすべてのメソッドを提供します。setSelectionMode などの状態を設定する際、JTable は行選択モデルのモードを更新するだけでなく、columnModel の選択モデルで同様の値を設定します。行および列の選択モデルを別々のモードで機能させるには、それらを両方とも直接設定します。

JTable の行選択モデルと列選択モデルはどちらともデフォルトで DefaultListSelectionModel を使用するので、JTableJList と同じように動作します。モードの詳細は、JListsetSelectionMode を参照してください。

関連項目:
JList.setSelectionMode(int)

setRowSelectionAllowed

public void setRowSelectionAllowed(boolean rowSelectionAllowed)
このモデルの行を選択できるかどうかを設定します。

パラメータ:
rowSelectionAllowed - このモデルが行選択を許可する場合は true
関連項目:
getRowSelectionAllowed()

getRowSelectionAllowed

public boolean getRowSelectionAllowed()
行を選択できる場合に true を返します。

戻り値:
行を選択可能な場合は true、そうでない場合は false
関連項目:
setRowSelectionAllowed(boolean)

setColumnSelectionAllowed

public void setColumnSelectionAllowed(boolean columnSelectionAllowed)
このモデルの列を選択できるかどうかを設定します。

パラメータ:
columnSelectionAllowed - このモデルが列選択を許可する場合は true
関連項目:
getColumnSelectionAllowed()

getColumnSelectionAllowed

public boolean getColumnSelectionAllowed()
列が選択できる場合は true を返します。

戻り値:
列を選択可能な場合は true、そうでない場合は false
関連項目:
setColumnSelectionAllowed(boolean)

setCellSelectionEnabled

public void setCellSelectionEnabled(boolean cellSelectionEnabled)
列選択と行選択の同時実行をこのテーブルが許可するかどうかを設定します。設定されると、テーブルは行選択モデルと列選択モデルの交差する部分を、選択されたセルとして処理します。このデフォルトの動作を変更するには、isCellSelected をオーバーライドします。このメソッドは、columnModelrowSelectionAllowed プロパティおよび columnSelectionAllowed プロパティを指定された値に設定するのと同じことです。

パラメータ:
cellSelectionEnabled - 行と列の同時選択を許可する場合に true を返します。
関連項目:
getCellSelectionEnabled(), isCellSelected(int, int)

getCellSelectionEnabled

public boolean getCellSelectionEnabled()
行選択モデルと列選択モデルの両方が可能な場合は true を返します。getRowSelectionAllowed() && getColumnSelectionAllowed() と同等です。

戻り値:
行選択モデルと列選択モデルの両方が可能な場合は true
関連項目:
setCellSelectionEnabled(boolean)

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

public int getSelectedRow()
最初に選択された行のインデックスを返すか、行が選択されていない場合は -1 を返します。

戻り値:
最初に選択された行のインデックス

getSelectedColumn

public int getSelectedColumn()
最初に選択された列のインデックスを返すか、列が選択されていない場合は -1 を返します。

戻り値:
最初に選択された列のインデックス

getSelectedRows

public int[] getSelectedRows()
選択されたすべての行のインデックスを返します。

戻り値:
選択されたすべての行のインデックスを格納する整数の配列。選択されている行がない場合は空の配列
関連項目:
getSelectedRow()

getSelectedColumns

public int[] getSelectedColumns()
選択されたすべての列のインデックスを返します。

戻り値:
選択されたすべての列のインデックスを格納する整数の配列。選択されている列がない場合は空の配列
関連項目:
getSelectedColumn()

getSelectedRowCount

public int getSelectedRowCount()
選択された行数を返します。

戻り値:
選択された行の数。選択されている行がない場合は 0

getSelectedColumnCount

public int getSelectedColumnCount()
選択されている列の数を返します。

戻り値:
選択された列の数。選択されている列がない場合は 0

isRowSelected

public boolean isRowSelected(int row)
指定されたインデックスが有効な行の範囲内にあり、そのインデックスで示される行が選択されている場合は true を返します。

戻り値:
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)
toggleextend の 2 つのフラグの状態によって、テーブルの選択モデルを更新します。UI が受け取ったキーボードイベントまたはマウスイベントによって行われた選択範囲の変更はこのメソッドによって処理され、サブクラスが動作をオーバーライドできるようになります。UI には、不連続な選択範囲の先頭を操作する場合など、このメソッドが提供するよりも高度な機能を必要とするものもあり、一部の選択範囲の変更ではそのような UI がこのメソッドに呼び込まれないことがあります。

実装は次の規則を使用します。

パラメータ:
rowIndex - row の選択に影響する
columnIndex - column の選択に影響する
toggle - 上記参照
extend - true の場合、現在の選択を拡張する

getSelectionForeground

public Color getSelectionForeground()
選択されているセルのフォアグラウンドカラーを返します。

戻り値:
フォアグラウンドプロパティの Color オブジェクト
関連項目:
setSelectionForeground(java.awt.Color), setSelectionBackground(java.awt.Color)

setSelectionForeground

public void setSelectionForeground(Color selectionForeground)
選択されたセルのフォアグラウンドカラーを設定します。セルレンダリングはこの色を使用して、選択されたセルのテキストとグラフィックスを描画します。

このプロパティのデフォルト値は、Look & Feel の実装によって定義されます。

これは JavaBeans バウンドプロパティです。

パラメータ:
selectionForeground - 選択されたリスト項目のフォアグラウンドで使用する Color
関連項目:
getSelectionForeground(), setSelectionBackground(java.awt.Color), JComponent.setForeground(java.awt.Color), JComponent.setBackground(java.awt.Color), JComponent.setFont(java.awt.Font)

getSelectionBackground

public Color getSelectionBackground()
選択されたセルのバックグラウンドカラーを返します。

戻り値:
選択されたリスト項目のバックグラウンドで使用する Color
関連項目:
setSelectionBackground(java.awt.Color), setSelectionForeground(java.awt.Color)

setSelectionBackground

public void setSelectionBackground(Color selectionBackground)
選択されたセルのバックグラウンドカラーを設定します。セルレンダリングはこの色を使用して、選択されたセルを塗りつぶすことができます。

このプロパティのデフォルト値は、Look & Feel の実装によって定義されます。

これは JavaBeans バウンドプロパティです。

パラメータ:
selectionBackground - 選択されたセルのバックグラウンドで使用する Color
関連項目:
getSelectionBackground(), setSelectionForeground(java.awt.Color), JComponent.setForeground(java.awt.Color), JComponent.setBackground(java.awt.Color), JComponent.setFont(java.awt.Font)

getColumn

public TableColumn getColumn(Object identifier)
equals を使用して比較し、識別子が identifier に等しいテーブル内の列の TableColumn オブジェクトを返します。

パラメータ:
identifier - 識別子オブジェクト
戻り値:
識別子が一致する TableColumn オブジェクト
例外:
IllegalArgumentException - identifiernull の場合、またはこの識別子を持つ TableColumn がない場合

convertColumnIndexToModel

public int convertColumnIndexToModel(int viewColumnIndex)
viewColumnIndex のビュー内の列のインデックスを、テーブルモデル内の列のインデックスにマッピングします。モデル内の対応する列のインデックスを返します。viewColumnIndex がゼロより小さい場合は、viewColumnIndex を返します。

パラメータ:
viewColumnIndex - ビュー内の列のインデックス
戻り値:
モデル内の対応する列のインデックス
関連項目:
convertColumnIndexToView(int)

convertColumnIndexToView

public int convertColumnIndexToView(int modelColumnIndex)
modelColumnIndex のテーブルモデル内の列のインデックスを、ビュー内の列のインデックスにマッピングします。ビュー内の対応する列のインデックスを返します。この列が表示されていない場合は -1 を返します。modelColumnIndex がゼロより小さい場合は、modelColumnIndex を返します。

パラメータ:
modelColumnIndex - モデル内の列のインデックス
戻り値:
ビュー内の対応する列のインデックス
関連項目:
convertColumnIndexToModel(int)

getRowCount

public int getRowCount()
このテーブルのモデル内の行数を返します。

戻り値:
このテーブルのモデル内の行数
関連項目:
getColumnCount()

getColumnCount

public int getColumnCount()
列モデル内の列数を返します。ただし、これはテーブルモデル内の列数とは異なる場合があるので注意してください。

戻り値:
テーブル内の列数
関連項目:
getRowCount(), removeColumn(javax.swing.table.TableColumn)

getColumnName

public String getColumnName(int column)
列位置 column のビューに表示される列の名前を返します。

パラメータ:
column - 照会されるビューの列
戻り値:
ビュー内の column 位置の列名。最初の列は column 0

getColumnClass

public Class<?> getColumnClass(int column)
列位置 column のビューに表示される列の型を返します。

パラメータ:
column - 照会されるビューの列
戻り値:
ビュー内の column 位置の列の型。最初の列は column 0

getValueAt

public Object getValueAt(int row,
                         int column)
rowcolumn に位置するセル値を返します。

注: 列はテーブルビューの表示順で指定され、TableModel の列順では指定されません。ユーザがテーブル内の列を配列し直すとビュー内の指定されたインデックスの列が変更されるため、これは重要な相違になります。一方、ユーザのアクションはモデルの列順序付けに影響を及ぼしません。

パラメータ:
row - 値が照会される行
column - 値が照会される列
戻り値:
指定されたセルの Object

setValueAt

public void setValueAt(Object aValue,
                       int row,
                       int column)
テーブルモデル内の rowcolumn に位置するセルの値を設定します。

注: 列はテーブルビューの表示順で指定され、TableModel の列順では指定されません。ユーザがテーブル内の列を配列し直すとビュー内の指定されたインデックスの列が変更されるため、これは重要な相違になります。一方、ユーザのアクションはモデルの列順序付けに影響を及ぼしません。 aValue は新しい値です。

パラメータ:
aValue - 新しい値
row - 変更されるセルの行
column - 変更されるセルの列
関連項目:
getValueAt(int, int)

isCellEditable

public boolean isCellEditable(int row,
                              int column)
rowcolumn に位置するセルが編集可能な場合に true を返します。そうでない場合は、セルの setValueAt を呼び出しても影響しません。

注: 列はテーブルビューの表示順で指定され、TableModel の列順では指定されません。ユーザがテーブル内の列を配列し直すとビュー内の指定されたインデックスの列が変更されるため、これは重要な相違になります。一方、ユーザのアクションはモデルの列順序付けに影響を及ぼしません。

パラメータ:
row - 値が照会される行
column - 値が照会される列
戻り値:
セルが編集可能な場合は true
関連項目:
setValueAt(java.lang.Object, int, int)

addColumn

public void addColumn(TableColumn aColumn)
この JTable の列モデルが保持する列の配列の末尾に aColumn を追加します。aColumn の列名が null の場合、aColumn の列名を getModel().getColumnName() の返す名前に設定します。

この JTable に列を追加して、指定された widthcellRenderer、および cellEditor を使用してモデル内の modelColumn 番目の列のデータを表示する場合は、以下を使用できます。


addColumn(new TableColumn(modelColumn, width, cellRenderer, cellEditor));
TableColumn コンストラクタをどれでも代わりに使用できます。モデル列番号は TableColumn 内部に格納され、モデル内の適切なデータ値を見つけるために描画時と編集時に使用されます。モデル列番号は、列をビュー内で並べ替えるときにも変更されません。

パラメータ:
aColumn - 追加される TableColumn @see #removeColumn

removeColumn

public void removeColumn(TableColumn aColumn)
aColumn をこの JTable の列配列から削除します。注: このメソッドは、モデルから列のデータを削除することはありません。列のデータの表示を行なっていた TableColumn だけを削除します。

パラメータ:
aColumn - 削除される TableColumn @see #addColumn

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(java.awt.Point)

rowAtPoint

public int rowAtPoint(Point point)
point が存在する場合はその行のインデックス、結果が [0, getRowCount()-1] の範囲内にない場合は -1 を返します。

パラメータ:
point - 対象の位置
戻り値:
point が存在する場合はその行のインデックス、結果が [0, getRowCount()-1] の範囲内にない場合は -1
関連項目:
columnAtPoint(java.awt.Point)

getCellRect

public Rectangle getCellRect(int row,
                             int column,
                             boolean includeSpacing)
rowcolumn が交差する位置のセルの矩形を返します。includeSpacing が true の場合、返される値は指定された行と列の全高さと全幅を含みます。false の場合、返される矩形はセルの間隔によってインセットされ、描画の際設定される描画コンポーネントまたは編集コンポーネントの真の境界が返されます。

列インデックスが有効で行インデックスがゼロより小さい場合、メソッドは、y 値と height 値が適切に設定され、x 値と width 値がともにゼロに設定された矩形を返します。一般に、行と列のどちらかのインデックスが適切な範囲外のセルを示す場合、メソッドはテーブルの範囲内でもっとも近いセルのもっとも近い縁を描く矩形を返します。行と列のインデックスがどちらも範囲外の場合、返される矩形はもっとも近いセルのもっとも近い点を表しています。

どのケースでも、このメソッドを使用して 1 つの軸に合わせて結果を求める計算は、他方の軸では変則的な計算を行うので、失敗することはありません。セルが有効でない場合、includeSpacing パラメータは無視されます。

パラメータ:
row - 目的のセルが置かれている行インデックス
column - 画面内で目的のセルが置かれている列インデックス。この値は、テーブルのデータモデル内の列インデックスと同じであるとは限らない。データモデルの列インデックスを画面の列インデックスに変換する場合は、convertColumnIndexToView(int) メソッドを使用できる
includeSpacing - false の場合、真のセルの境界を返す。この境界は、列モデルと行モデルの高さと幅からセルの間隔を引くことによって計算される
戻り値:
rowcolumn の位置のセルを保持する矩形

doLayout

public void doLayout()
このテーブルに行と列をレイアウトさせます。格納する親のサイズの変更に合わせて列をサイズ変更できるように、オーバーライドされます。テーブル内の 1 つまたは複数の列のサイズを変更して、この JTable のすべての列の全幅がテーブルの幅と等しくなるようにします。

配置が開始される前に、メソッドは tableHeaderresizingColumn を取得します。囲み側ウィンドウのサイズ変更の結果として、メソッドが呼び出される場合は、resizingColumnnull になります。これは、サイズ変更が JTable の「外側」で起きたこと、および変更 (デルタ) がこの JTable の自動サイズ変更モードに関係なくすべての列に反映されることを意味します。

resizingColumnnull でない場合は、テーブルサイズの変更ではなく、テーブル内のある列のサイズが変更されたことを示します。この場合、自動サイズ変更モードにより、余分な、または足りないスペースが利用可能なすべての列で配分される方法が決定されます。

次に、各モードを示します。

注: 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] の範囲外の場合、このアルゴリズムによってすべてのサイズがそれぞれの適切な最大値または最小値の制限値に設定されます。

オーバーライド:
クラス Container 内の doLayout
関連項目:
LayoutManager.layoutContainer(java.awt.Container), Container.setLayout(java.awt.LayoutManager), Container.validate()

sizeColumnsToFit

@Deprecated
public void sizeColumnsToFit(boolean lastColumnOnly)
推奨されていません。 Swing バージョン 1.0.3 以降は、doLayout() に置き換えられました。

利用可能なスペースに合わせてテーブルの列のサイズを変更します。

関連項目:
doLayout()

sizeColumnsToFit

public void sizeColumnsToFit(int resizingColumn)
Java 2 プラットフォーム v1.4 では使用しません。代わりに doLayout() メソッドを使用してください。

パラメータ:
resizingColumn - サイズ変更でこの調整を必要とする列。当てはまる列がない場合は -1
関連項目:
doLayout()

getToolTipText

public String getToolTipText(MouseEvent event)
JComponentgetToolTipText メソッドをオーバーライドして、テキストセットがある場合、レンダリングのヒントを使用できるようにします。

注: JTable がレンダリングのツールヒントを適切に表示できるようにするには、JTableToolTipManager に登録済みのコンポーネントでなければいけません。これは initializeLocalVars で自動的に行われますが、あとで JTablesetToolTipText(null) を通知すると、テーブルコンポーネントを登録解除するので、レンダリングからのヒントはそれ以上表示されません。

オーバーライド:
クラス JComponent 内の getToolTipText
関連項目:
JComponent.getToolTipText()

setSurrendersFocusOnKeystroke

public void setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
JTable がセルのキーボードイベントを転送した結果として、この JTable のエディタがキーボードフォーカスを取得するかどうかを設定します。デフォルトでは、このプロパティは false です。JTable はセルがクリックされるまでフォーカスを保持します。

パラメータ:
surrendersFocusOnKeystroke - キーボードがエディタをアクティブ化したときにエディタがフォーカスを取得する場合は true
関連項目:
getSurrendersFocusOnKeystroke()

getSurrendersFocusOnKeystroke

public boolean getSurrendersFocusOnKeystroke()
キーボードがエディタをアクティブ化したときにエディタがフォーカスを取得する場合は true を返します。

戻り値:
キーボードがエディタをアクティブ化したときにエディタがフォーカスを取得する場合は true
関連項目:
setSurrendersFocusOnKeystroke(boolean)

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)
rowcolumn に位置するセルのインデックスが有効な範囲内にあり、その位置にあるセルが編集可能な場合は、セルの編集をプログラムに基づいて開始します。JTable が特定のテーブル、列、またはセルの値を編集できないようにするには、TableModel インタフェースの isCellEditable メソッドから false を返します。

パラメータ:
row - 編集する行
column - 編集する列
e - shouldSelectCell に渡すイベント。Java 2 プラットフォーム v1.2 以降、shouldSelectCell の呼び出しは行われない
戻り値:
なんらかの理由でセルを編集できない場合、またはインデックスが無効な場合は false

isEditing

public boolean isEditing()
セルを編集中の場合は true を返します。

戻り値:
テーブルがセルを編集中の場合は true
関連項目:
editingColumn, editingRow

getEditorComponent

public Component getEditorComponent()
編集セッションを処理しているコンポーネントを返します。何も編集していない場合は null を返します。

戻り値:
編集セッションを処理する Component

getEditingColumn

public int getEditingColumn()
現在編集中のセルを含む列のインデックスを返します。何も編集していない場合は -1 を返します。

戻り値:
現在編集中のセルを含む列のインデックス。何も編集していない場合は -1 を返す
関連項目:
editingRow

getEditingRow

public int getEditingRow()
現在編集中のセルを含む行のインデックスを返します。何も編集していない場合は -1 を返します。

戻り値:
現在編集中のセルを含む行のインデックス。何も編集していない場合は -1 を返す
関連項目:
editingColumn

getUI

public TableUI getUI()
このコンポーネントを描画する L&F オブジェクトを返します。

戻り値:
このコンポーネントを描画する TableUI オブジェクト

setUI

public void setUI(TableUI ui)
このコンポーネントを描画してペイントし直す L&F オブジェクトを設定します。

パラメータ:
ui - TableUI L&F オブジェクト
関連項目:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
L&F が変更されたという UIManager からの通知です。現在の UI オブジェクトを UIManager からの最新バージョンに置き換えます。

オーバーライド:
クラス JComponent 内の updateUI
関連項目:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
Look & Feel クラスの名前の構築に使用された接尾辞を返します。このクラスは、このコンポーネントを描画するのに使用されます。

オーバーライド:
クラス JComponent 内の getUIClassID
戻り値:
文字列「TableUI」
関連項目:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

setModel

public void setModel(TableModel dataModel)
このテーブルのデータモデルを newModel に設定し、それに新しいデータモデルからのリスナー通知を登録します。

パラメータ:
dataModel - このテーブルの新しいデータソース
例外:
IllegalArgumentException - newModelnull の場合
関連項目:
getModel()

getModel

public TableModel getModel()
この JTable が表示するデータを提供する TableModel を返します。

戻り値:
この JTable が表示するデータを提供する TableModel
関連項目:
setModel(javax.swing.table.TableModel)

setColumnModel

public void setColumnModel(TableColumnModel columnModel)
このテーブルの列モデルを newModel に設定し、新しい列モデルからのリスナー通知を登録します。また、JTableHeader の列モデルを columnModel に設定します。

パラメータ:
columnModel - このテーブルの新しいデータソース
例外:
IllegalArgumentException - columnModelnull の場合
関連項目:
getColumnModel()

getColumnModel

public TableColumnModel getColumnModel()
このテーブルのすべての列情報を保持する TableColumnModel を返します。

戻り値:
テーブルの列の状態を提供するオブジェクト
関連項目:
setColumnModel(javax.swing.table.TableColumnModel)

setSelectionModel

public void setSelectionModel(ListSelectionModel newModel)
このテーブルの行選択モデルを newModel に設定し、新しい選択モデルからのリスナー通知を登録します。

パラメータ:
newModel - 新しい選択モデル
例外:
IllegalArgumentException - newModelnull の場合
関連項目:
getSelectionModel()

getSelectionModel

public ListSelectionModel getSelectionModel()
行選択状態の維持に使用する ListSelectionModel を返します。

戻り値:
行選択状態を提供するオブジェクト。行選択が許可されていない場合は null
関連項目:
setSelectionModel(javax.swing.ListSelectionModel)

tableChanged

public void tableChanged(TableModelEvent e)
このテーブルの TableModelTableModelEvent を生成するときに呼び出されます。TableModelEvent はモデルの座標系で構築され、イベント受信時に JTable がビュー座標系への適切なマッピングを実行します。

アプリケーションコードはこれらのメソッドを明示的には使用しません。これらのメソッドは JTable が内部的に使用します。

JDK バージョン 1.3 では、このメソッドは、必要に応じて選択状態が解除されます。

定義:
インタフェース TableModelListener 内の tableChanged

columnAdded

public void columnAdded(TableColumnModelEvent e)
テーブル列モデルに列が追加されるときに呼び出されます。

アプリケーションコードはこれらのメソッドを明示的には使用しません。これらのメソッドは JTable が内部的に使用します。

定義:
インタフェース TableColumnModelListener 内の columnAdded
関連項目:
TableColumnModelListener

columnRemoved

public void columnRemoved(TableColumnModelEvent e)
列がテーブル列モデルから削除されるときに呼び出されます。

アプリケーションコードはこれらのメソッドを明示的には使用しません。これらのメソッドは JTable が内部的に使用します。

定義:
インタフェース TableColumnModelListener 内の columnRemoved
関連項目:
TableColumnModelListener

columnMoved

public void columnMoved(TableColumnModelEvent e)
列が配置し直されたときに呼び出されます。セルが編集中の場合、編集は停止しセルが再度描画されます。

アプリケーションコードはこれらのメソッドを明示的には使用しません。これらのメソッドは JTable が内部的に使用します。

定義:
インタフェース TableColumnModelListener 内の columnMoved
パラメータ:
e - 受け取ったイベント
関連項目:
TableColumnModelListener

columnMarginChanged

public void columnMarginChanged(ChangeEvent e)
マージン変更のために列が移動されたときに呼び出されます。セルが編集中の場合、編集は停止しセルが再度描画されます。

アプリケーションコードはこれらのメソッドを明示的には使用しません。これらのメソッドは JTable が内部的に使用します。

定義:
インタフェース TableColumnModelListener 内の columnMarginChanged
パラメータ:
e - 受け取ったイベント
関連項目:
TableColumnModelListener

columnSelectionChanged

public void columnSelectionChanged(ListSelectionEvent e)
TableColumnModel の選択モデルが変更されるときに呼び出されます。

アプリケーションコードはこれらのメソッドを明示的には使用しません。これらのメソッドは JTable が内部的に使用します。

定義:
インタフェース TableColumnModelListener 内の columnSelectionChanged
パラメータ:
e - 受け取ったイベント
関連項目:
TableColumnModelListener

valueChanged

public void valueChanged(ListSelectionEvent e)
行の選択領域が変更されたときに呼び出され、ペイントし直して新しい選択領域を示します。

アプリケーションコードはこれらのメソッドを明示的には使用しません。これらのメソッドは JTable が内部的に使用します。

定義:
インタフェース ListSelectionListener 内の valueChanged
パラメータ:
e - 受け取ったイベント
関連項目:
ListSelectionListener

editingStopped

public void editingStopped(ChangeEvent e)
編集が完了したときに呼び出されます。変更は保存され、エディタは破棄されます。

アプリケーションコードはこれらのメソッドを明示的には使用しません。これらのメソッドは JTable が内部的に使用します。

定義:
インタフェース CellEditorListener 内の editingStopped
パラメータ:
e - 受け取ったイベント
関連項目:
CellEditorListener

editingCanceled

public void editingCanceled(ChangeEvent e)
編集が取り消されると呼び出されます。エディタオブジェクトが破棄され、セルがもう一度描画されます。

アプリケーションコードはこれらのメソッドを明示的には使用しません。これらのメソッドは JTable が内部的に使用します。

定義:
インタフェース CellEditorListener 内の editingCanceled
パラメータ:
e - 受け取ったイベント
関連項目:
CellEditorListener

setPreferredScrollableViewportSize

public void setPreferredScrollableViewportSize(Dimension size)
このテーブルのビューポートの望ましいサイズを設定します。

パラメータ:
size - ビューがこのテーブルである JViewportpreferredSize を指定する Dimension オブジェクト
関連項目:
Scrollable.getPreferredScrollableViewportSize()

getPreferredScrollableViewportSize

public Dimension getPreferredScrollableViewportSize()
このテーブルのビューポートの適切なサイズを返します。

定義:
インタフェース Scrollable 内の getPreferredScrollableViewportSize
戻り値:
このテーブルを表示する JViewportpreferredSize を保持する Dimension オブジェクト
関連項目:
Scrollable.getPreferredScrollableViewportSize()

getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect,
                                      int orientation,
                                      int direction)
新しい 1 行または 1 列を完全に表示するスクロール増分値を (方向に基づいて) ピクセル単位で返します。

このメソッドは、ユーザが単位スクロールを要求するたびに呼び出されます。

定義:
インタフェース Scrollable 内の getScrollableUnitIncrement
パラメータ:
visibleRect - ビューポート内の可視のビュー領域
orientation - SwingConstants.VERTICAL または SwingConstants.HORIZONTAL
direction - 上または左にスクロールする場合は 0 より小さく、下または右にスクロールする場合は 0 より大きい
戻り値:
指定された方向にスクロールするための「ユニット」増分値
関連項目:
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)

getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect,
                                       int orientation,
                                       int direction)
このテーブルの方向によって visibleRect.height または visibleRect.width を返します。Swing 1.1.1 (Java 2 v 1.2.2) からは、返される値によってビューポイントが行の境界に明確に配置されるようになりました。

定義:
インタフェース Scrollable 内の getScrollableBlockIncrement
パラメータ:
visibleRect - ビューポート内の可視のビュー領域
orientation - SwingConstants.VERTICAL または SwingConstants.HORIZONTAL
direction - 上または左にスクロールする場合は 0 より小さく、下または右にスクロールする場合は 0 より大きい
戻り値:
方向に基づいた visibleRect.height または visibleRect.width
関連項目:
Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
autoResizeModeAUTO_RESIZE_OFF に設定されている場合は false を返します。これはビューポートの幅がテーブルの幅を決定しないことを示します。それ以外の場合は true を返します。

定義:
インタフェース Scrollable 内の getScrollableTracksViewportWidth
戻り値:
autoResizeModeAUTO_RESIZE_OFF に設定されている場合は false、そうでない場合は true
関連項目:
Scrollable.getScrollableTracksViewportWidth()

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
false を返して、ビューポートの高さがテーブルの高さを決定しないことを示します。

定義:
インタフェース Scrollable 内の getScrollableTracksViewportHeight
戻り値:
false
関連項目:
Scrollable.getScrollableTracksViewportHeight()

processKeyBinding

protected boolean processKeyBinding(KeyStroke ks,
                                    KeyEvent e,
                                    int condition,
                                    boolean pressed)
クラス JComponent の記述:
KeyEvent e の結果として ks のキーバインドを処理するために呼び出されます。このメソッドは適切な InputMap 、そのバインディング、ActionMap のアクションを取得して、(アクションが見つかり、受信側が有効な場合) アクションを通知するために notifyAction を呼び出します。

オーバーライド:
クラス JComponent 内の processKeyBinding
パラメータ:
ks - 照会する KeyStroke
e - KeyEvent
condition - 次の値のどれか
  • JComponent.WHEN_FOCUSED
  • JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
  • JComponent.WHEN_IN_FOCUSED_WINDOW
pressed - キーが押されている場合は true
戻り値:
アクションにバインディングがあり、アクションが有効だった場合は true

createDefaultRenderers

protected void createDefaultRenderers()
オブジェクト、数、double 値、日付、boolean 値、およびアイコンのデフォルトのセルレンダリングを作成します。

関連項目:
DefaultTableCellRenderer

createDefaultEditors

protected void createDefaultEditors()
オブジェクト、数、および boolean 値のデフォルトのセルエディタを作成します。

関連項目:
DefaultCellEditor

initializeLocalVars

protected void initializeLocalVars()
各テーブルプロパティをデフォルト値に初期化します。


createDefaultDataModel

protected TableModel createDefaultDataModel()
DefaultTableModel であるデフォルトのテーブルモデルオブジェクトを返します。サブクラスはこのメソッドをオーバーライドして、異なるテーブルモデルオブジェクトを返すことができます。

戻り値:
デフォルトのテーブルモデルオブジェクト
関連項目:
DefaultTableModel

createDefaultColumnModel

protected TableColumnModel createDefaultColumnModel()
DefaultTableColumnModel であるデフォルトの列モデルオブジェクトを返します。サブクラスはこのメソッドをオーバーライドして、異なる列モデルオブジェクトを返すことができます。

戻り値:
デフォルトの列モデルオブジェクト
関連項目:
DefaultTableColumnModel

createDefaultSelectionModel

protected ListSelectionModel createDefaultSelectionModel()
DefaultListSelectionModel であるデフォルトの選択モデルオブジェクトを返します。サブクラスはこのメソッドをオーバーライドして、異なる選択モデルオブジェクトを返すことができます。

戻り値:
デフォルトの選択モデルオブジェクト
関連項目:
DefaultListSelectionModel

createDefaultTableHeader

protected JTableHeader createDefaultTableHeader()
JTableHeader であるデフォルトのテーブルヘッダオブジェクトを返します。サブクラスはこのメソッドをオーバーライドして、異なるテーブルヘッダオブジェクトを返すことができます。

戻り値:
デフォルトのテーブルヘッダオブジェクト
関連項目:
JTableHeader

resizeAndRepaint

protected void resizeAndRepaint()
revalidate のあとに repaint を呼び出すのと同等です。


getCellEditor

public TableCellEditor getCellEditor()
セルエディタを返します。

戻り値:
編集を行う TableCellEditor
関連項目:
cellEditor

setCellEditor

public void setCellEditor(TableCellEditor anEditor)
cellEditor 変数を設定します。

パラメータ:
anEditor - 編集を行う TableCellEditor
関連項目:
cellEditor

setEditingColumn

public void setEditingColumn(int aColumn)
editingColumn 変数を設定します。

パラメータ:
aColumn - 編集されるセルの列
関連項目:
editingColumn

setEditingRow

public void setEditingRow(int aRow)
editingRow 変数を設定します。

パラメータ:
aRow - 編集されるセルの行
関連項目:
editingRow

getCellRenderer

public TableCellRenderer getCellRenderer(int row,
                                         int column)
この行と列で指定するセルの適切なレンダリングを返します。この列の TableColumn が null 以外のレンダリングを持つ場合は、そのレンダリングを返します。そうでない場合は、getColumnClass を使用してこの列のデータのクラスを見つけて、この型のデータのデフォルトレンダリングを返します。

注: テーブルパッケージ全体を通して、内部実装は常にこのメソッドを使用してレンダリングを提供し、デフォルトの動作をサブクラスが安全にオーバーライドできるようにします。

パラメータ:
row - 描画するセルの行。0 は最初の行
column - 描画するセルの列。0 は最初の列
戻り値:
割り当てられたレンダリング。null の場合、この型のオブジェクトのデフォルトのレンダリングを返す
関連項目:
DefaultTableCellRenderer, TableColumn.setCellRenderer(javax.swing.table.TableCellRenderer), setDefaultRenderer(java.lang.Class, javax.swing.table.TableCellRenderer)

prepareRenderer

public Component prepareRenderer(TableCellRenderer renderer,
                                 int row,
                                 int column)
rowcolumn の位置にあるセルの値および選択状態をデータモデルに照会して、レンダリングを準備します。イベントの位置にあるコンポーネント (Component または JComponent) を返します。

注: テーブルパッケージ全体を通して、内部実装は常にこのメソッドを使用してレンダリングを準備し、このデフォルトの動作をサブクラスが安全にオーバーライドできるようにします。

パラメータ:
renderer - 準備する TableCellRenderer
row - 描画するセルの行。0 は最初の行
column - 描画するセルの列。0 は最初の列
戻り値:
イベントの位置にある Component

getCellEditor

public TableCellEditor getCellEditor(int row,
                                     int column)
rowcolumn が指定するセルの適切なエディタを返します。この列の TableColumn が null 以外のエディタを持つ場合は、そのエディタを返します。そうでない場合は、getColumnClass を使用してこの列のデータのクラスを見つけて、この型のデータのデフォルトエディタを返します。

注: テーブルパッケージ全体を通して、内部実装は常にこのメソッドを使用してエディタを提供し、このデフォルトの動作をサブクラスが安全にオーバーライドできるようにします。

パラメータ:
row - 編集するセルの行。0 は最初の行
column - 編集するセルの列。0 は最初の列
戻り値:
このセルのエディタ。null の場合、この型のセルのデフォルトのエディタを返す
関連項目:
DefaultCellEditor

prepareEditor

public Component prepareEditor(TableCellEditor editor,
                               int row,
                               int column)
rowcolumn の位置にあるセルの値および選択状態をデータモデルに照会して、エディタを準備します。

注: テーブルパッケージ全体を通して、内部実装は常にこのメソッドを使用してエディタを準備し、このデフォルトの動作をサブクラスが安全にオーバーライドできるようにします。

パラメータ:
editor - 設定する TableCellEditor
row - 編集するセルの行。0 は最初の行
column - 編集するセルの列。0 は最初の列
戻り値:
the Component being edited

removeEditor

public void removeEditor()
エディタオブジェクトを破棄して、そのオブジェクトがセル描画に使った場所を解放します。


paramString

protected String paramString()
このテーブルの文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。

オーバーライド:
クラス JComponent 内の paramString
戻り値:
このテーブルの文字列表現

print

public boolean print()
              throws PrinterException
印刷ダイアログを表示し、この JTable を、モード PrintMode.FIT_WIDTH で、ヘッダテキストまたはフッタテキストを指定しないで印刷する簡易メソッドです。印刷中は、中止オプションの付いたモーダルな進捗ダイアログが表示されます。

注: ヘッドレスモードでは、ダイアログは表示されません。

戻り値:
ユーザが印刷を取り消さないかぎり true
例外:
PrinterException - 印刷システムのエラーが原因でジョブが停止した場合
導入されたバージョン:
1.5
関連項目:
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean), getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)

print

public boolean print(JTable.PrintMode printMode)
              throws PrinterException
印刷ダイアログを表示し、この JTable を、指定された印刷モードで、ヘッダテキストまたはフッタテキストを指定しないで印刷する簡易メソッドです。印刷中は、中止オプションの付いたモーダルな進捗ダイアログが表示されます。

注: ヘッドレスモードでは、ダイアログは表示されません。

パラメータ:
printMode - Printable が使用する印刷モード
戻り値:
ユーザが印刷を取り消さないかぎり true
例外:
PrinterException - 印刷システムのエラーが原因でジョブが停止した場合
導入されたバージョン:
1.5
関連項目:
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean), getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)

print

public boolean print(JTable.PrintMode printMode,
                     MessageFormat headerFormat,
                     MessageFormat footerFormat)
              throws PrinterException
印刷ダイアログを表示し、この JTable を、指定された印刷モードで、ヘッダテキストまたはフッタテキストを指定して印刷する簡易メソッドです。印刷中は、中止オプション付きのモーダルな進捗ダイアログが表示されます。

注: ヘッドレスモードでは、ダイアログは表示されません。

パラメータ:
printMode - Printable が使用する印刷モード
headerFormat - ヘッダの印刷に使用されるテキストを示す MessageFormat。ヘッダがない場合は null
footerFormat - フッタの印刷に使用されるテキストを示す MessageFormat。フッタがない場合は null
戻り値:
ユーザが印刷を取り消さないかぎり true
例外:
PrinterException - 印刷システムのエラーが原因でジョブが停止した場合
導入されたバージョン:
1.5
関連項目:
print(JTable.PrintMode, MessageFormat, MessageFormat, boolean, PrintRequestAttributeSet, boolean), getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat)

print

public boolean print(JTable.PrintMode printMode,
                     MessageFormat headerFormat,
                     MessageFormat footerFormat,
                     boolean showPrintDialog,
                     PrintRequestAttributeSet attr,
                     boolean interactive)
              throws PrinterException,
                     HeadlessException
この JTable を印刷します。ほとんどの開発者が JTable の印刷に使用する手順を実行します。手短に言えば、テーブルを準備し、getPrintable を呼び出して適切な Printable を取り出し、それをプリンタに送ります。

boolean パラメータを使用すると、印刷ダイアログがユーザに表示されるかどうかを指定できます。ダイアログが表示されると、ユーザはそれを使用して印刷属性を変更したり、印刷を取り消したりすることができます。別のパラメータでは、印刷属性を直接指定できます。このパラメータは、印刷ダイアログの初期値を指定したり、ダイアログが表示されないときに必要な属性を提供するために使用できます。

2 番目の boolean パラメータを使用すると、対話型モードで印刷を実行するかどうかを指定できます。true の場合は、印刷中に中止オプションの付いたモーダルな進捗ダイアログが表示されます。このダイアログでは、テーブルに影響を及ぼすユーザアクションを防止することもできます。ただし、テーブルがコード (SwingUtilities.invokeLater を使用して更新内容を送る別のスレッドなど) によって変更されないようにすることはできません。このため、開発者は印刷中にテーブルが他のコードによって決して変更されないようにする必要があります (不正な変更には、サイズ、レンダリング、基本となるデータの変更がある)。印刷中にテーブルが変更されると、印刷動作は保証されません。

このパラメータを false に指定すると、ダイアログは表示されず、イベントディスパッチスレッドで即座に印刷が開始されます。これによって、印刷が完了するまで他のすべてのイベント (再ペイントなど) の処理が中断されます。これは、テーブルが変更されないようにするには効果的ですが、ユーザ側の手順がありません。この理由から、表示できる GUI のないアプリケーションから印刷するときにのみ false を指定することをお勧めします。

注: ヘッドレスモードで印刷ダイアログを表示するか、対話型で実行しようとすると、HeadlessException がスローされます。

Printable を取り出す前に、このメソッドは最適な印刷結果が得られるようにテーブルを準備します。テーブルが現在編集モードになっている場合は、できるだけ通常の手順で編集を終了します。また、印刷された出力内にテーブルの現在の選択範囲やフォーカスされたセルが指示されていないことを確認します。この操作はビューレベルで印刷中にのみ処理されるため、選択モデルに通知を送信する必要はありません。

テーブルの印刷方法の詳細については、getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat) を参照してください。

パラメータ:
printMode - Printable が使用する印刷モード
headerFormat - ヘッダの印刷に使用されるテキストを示す MessageFormat。ヘッダがない場合は null
footerFormat - フッタの印刷に使用されるテキストを示す MessageFormat。フッタがない場合は null
showPrintDialog - 印刷ダイアログを表示するかどうか
attr - 印刷属性を示す PrintRequestAttributeSet。印刷属性がない場合は null
interactive - 対話型モードで印刷するかどうか
戻り値:
ユーザが印刷を取り消さないかぎり true
例外:
PrinterException - 印刷システムのエラーが原因でジョブが停止した場合
HeadlessException - メソッドが印刷ダイアログを表示するか、対話型で実行するように求められ、GraphicsEnvironment.isHeadless が true を返した場合
導入されたバージョン:
1.5
関連項目:
getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat), GraphicsEnvironment.isHeadless()

getPrintable

public Printable getPrintable(JTable.PrintMode printMode,
                              MessageFormat headerFormat,
                              MessageFormat footerFormat)
この JTable の印刷に使用する 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 では、描画する内容を、印刷する各ページの印刷可能領域に制限します。場合によっては、ページのすべての内容がその領域に収まらないことがあります。この場合は、出力がクリップされることがありますが、実装は何らかの妥当な処理をしようと試みます。次に、このような状況のいくつかの発生例と、この実装によるそれらの対処方法を示します。

複雑なレポートやドキュメントを作成するために、この Printable を別の Printable 内にラップすることはまったく問題ありません。また、異なるページがサイズの異なる印刷可能領域に描画されるように要求することもできます。実装は、このような状況に対処できる (おそらく実行中にそのレイアウト計算を行うことにより) ように準備されている必要があります。ただし、PrintMode.NORMAL で複数ページに列を分散させる必要がある場合は、各ページに異なる高さを指定すると、正しく動作しない可能性があります。

この Printable がテーブルを、その現在の視覚状態で、テーブルの既存のレンダリングを使用して印刷することに注意してください。このメソッドを呼び出す前に、まずテーブルの状態を変更する (レンダリングの変更、編集の取り消し、選択範囲の非表示など) ことをお勧めします。

ただし、この Printable が取り出されたあとはテーブルを一切変更しないでください (不正な変更には、サイズ、レンダリング、基本となるデータの変更などがある)。

次に示す簡単な例では、このメソッドを呼び出して Printable を取り出し、 共通プラットフォームの印刷ダイアログを表示して、ユーザがダイアログを取り消さないかぎり Printable を印刷します。


     // prepare the table for printing here first (for example, hide selection)

     // wrap in a try/finally so table can be restored even if something fails
     try {
         // fetch the printable
         Printable printable = table.getPrintable(JTable.PrintMode.FIT_WIDTH,
                                                  new MessageFormat("My Table"),
                                                  new MessageFormat("Page - {0}"));

         // fetch a PrinterJob
         PrinterJob job = PrinterJob.getPrinterJob();

         // set the Printable on the PrinterJob
         job.setPrintable(printable);

         // create an attribute set to store attributes from the print dialog
         PrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();

         // display a print dialog and record whether or not the user cancels it
         boolean printAccepted = job.printDialog(attr);

         // if the user didn't cancel the dialog
         if (printAccepted) {
             // do the printing (may need to handle PrinterException)
             job.print(attr);
         }
     } finally {
         // restore the original table state here (for example, restore selection)
     }
 

パラメータ:
printMode - Printable が使用する印刷モード
headerFormat - ヘッダの印刷に使用されるテキストを示す MessageFormat。ヘッダがない場合は null
footerFormat - フッタの印刷に使用されるテキストを示す MessageFormat。フッタがない場合は null
戻り値:
この JTable を印刷するための Printable
導入されたバージョン:
1.5
関連項目:
Printable, PrinterJob

getAccessibleContext

public AccessibleContext getAccessibleContext()
この JTable に関連した AccessibleContext を返します。テーブルの場合、AccessibleContext は AccessibleJTable の形式を取ります。必要に応じて、新規の AccessibleJTable インスタンスが作成されます。

定義:
インタフェース Accessible 内の getAccessibleContext
オーバーライド:
クラス JComponent 内の getAccessibleContext
戻り値:
この JTable の AccessibleContext として機能する AccessibleJTable

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。