Javaで「JTable」テーブルを作成するにはどうすればよいですか?

Artículo revisado y aprobado por nuestro equipo editorial, siguiendo los criterios de redacción y edición de YuBrain.


JTable、プログラミング言語のSwing API コンポーネントのおかげでユーザーが編集できるインタラクティブなテーブルを作成するために Java で使用されるクラスです。基本的には、テーブルの形式でデータを表すことができるグラフィカル インターフェイスで構成されており、GUI によって表示されるデータをさまざまな方法で表示および操作できます。たとえば、テーブルの内容の編集、変更などがあります。列と行の寸法、さまざまな列を自由に並べ替えます。

簡単なJTableの作成

この例では、次の情報を含む単純なテーブルを作成しようとしています。

ファーストネーム 苗字 セックス
アドリアナ ストップ 21
ファン イカ メートル 40
ロザリア バーナード 67
ジュリアナ ペレス 36
イスラエル ゴンザレス メートル 36

このテーブルは、スクロール バーのあるウィンドウに表示されます。JTableを使用してデータを表形式で表示する場合、 JTableは単なるグラフィカル インターフェイスであり、表示するデータは含まれていないことを考慮する必要があります。このデータは、モデル クラスに含める必要があります。つまり、テーブルに任意のデータを表示できるようにするには、まずデータ モデルをインスタンス化し、コンストラクターを使用してこのモデルをJTableに渡す必要があります。

フレームの作成

JTable にはそれを表示できるフレームが必要であることを考慮する必要があるため、これを最初に作成し、フレームの位置や寸法などの情報を含め、フレームを表示するかどうかを指定する必要があります。 .

これを実現する一般的なコードは次のようになります。

public class JTable_Use {

                public static void main(String[] args) {   

                JFrame myframe=new TableFrame() ;

                               myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;

                               myframe.setVisible(真) ;

                }

}

class TableFrame は JFrame を拡張します {

                public TableFrame() {

                               setTitle(“ユーザーデータ”) ;

                               setBounds(200,200,700,500) ;

                }

}

上記のコードは、位置 200×200、サイズ 700×500、タイトル User Data の可視フレームを作成します。

次に、ユーザーに関するデータを含むテーブルを作成します。このデータには、この例の目的のために、名、姓、性別、および年齢が含まれます。

作成中のテーブルにデータを追加するために使用できる複数のコンストラクターがあります。最も単純なコンストラクターの 1 つは、2 つのデータ配列を引数として取ることができます。

JTable(Object[] [] rowData, Object[] columnNames)

ご覧のとおり、これはJTableの単純なコンストラクターであり、引数として、各行に対応するデータが含まれるObject型の2 次元配列( rowData ) である 2 番目のパラメーターを受け取ります。これは配列ですが、列のヘッダーまたは名前 ( columnName ) が含まれるObject 型の 1 つの次元を持ちます。

つまり、このコンストラクターを使用する場合は、2 つのarrayを宣言する必要があります。1 つは 2 次元で、もう 1 つは 1 次元です。上記のフレームワークを構築するクラス内でこれを行います。

列ヘッダーに対応する配列を宣言することから始めます。これらはテキストであるため、 String型になります。この下で、テーブルの各行に表示されるデータに対応する2 次元配列を宣言します。配列宣言は次のようになります。

                private String [] columnheads={“姓”, “姓”, “性別”, “年齢”} ;

                プライベート文字列 [] [] userData={

                               {“Adriana”, “Stop”, “F”, “21”},

                               {«ジョン», «カラマロ», «M», «40»},

                               {«Rosalia», «Bernard», « F « , « 67 « },

                               {“ジュリアナ”, “ペレス”, “F”, “36”},

                               {“イスラエル”, “ゴンザレス”, “M”, “36”}

                };

このコードでは、列「cabezadasColumnas」と「dataUsers」の名前を含む配列に、テーブルに含まれる 5 人のユーザーのデータを含む2 次元配列という名前を付けました。

JTableに表示するデータができたので、コンストラクターを使用してこのデータを JTable に渡します。これは、以前に作成したフレームワーク内で行います。テーブルに名前を付ける必要があるため、この例では userTable と呼びます。

JTable tablaUsuarios=new JTable(dataUsers, headersColumns) ;

スクロールバーとセンタリングを追加する方法

この時点で、4 列 6 行の単純なテーブルを示す JTable が既にあります。最初の行には列ヘッダーがあり、その後に 5 人のユーザーのデータが含まれる 5 つの行がありますただし、このテーブルは、最初に作成した 700×500 のフレームに収まらない可能性があります。または、現在は収まる場合でも、後でさらに多くのユーザーに関するデータを追加すると、最終的に収まらない可能性があります。この場合、テーブル内のすべての情報が表示されるようにスクロール バーを追加すると便利です。

これはJScrollPaneを介して行います。さらに、フレーム内でテーブルの位置を指定することも便利です。このために、次のようにBorderLayoutを使用します。

add(new JScrollPane(userTable), BorderLayout.CENTER) ;

最終的なコード

すべてのパーツをコードに追加すると、次のようになります。

public class JTable_Use {

                public static void main(String[] args) {   

                JFrame myframe=new TableFrame() ;

                               myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;

                               myframe.setVisible(真) ;

                }

}

class TableFrame は JFrame を拡張します {

                public TableFrame() {

                               setTitle(“ユーザーデータ”) ;

                               setBounds(200,200,500,500) ;

                               JTable tablaUsuarios=new JTable(dataUsers, headersColumns) ;

                               add(new JScrollPane(userTable), BorderLayout.CENTER) ;

                }

                private String [] columnheads={“姓”, “姓”, “性別”, “年齢”} ;

                プライベート文字列 [] [] userData={

                               {“Adriana”, “Stop”, “F”, “21”},

                               {«ジョン», «カラマロ», «M», «40»},

                               {«Rosalia», «Bernard», « F « , « 67 « },

                               {“ジュリアナ”, “ペレス”, “F”, “36”},

                               {“イスラエル”, “ゴンザレス”, “M”, “36”}

                };

}

他の機能を追加するには?

スクロール バーに加えて、JTable を使用すると、さまざまなアプリケーションに無限の機能を追加できます。ユーザーが好みに合わせて行を並べ替える機能を追加したり、セルの背景色を変更したり、境界線を表示または非表示にしたりして、テーブルの外観を変更できます。

参考文献

Abellán, J. (2007a、2 月 4 日)。JTable の TableModel アプレットの例。http://www.chuidiang.org/java/tablas/tablamodelo/applettabla.php から取得

Abellán、J. (2007b、2 月 4 日)。JTable での TableModel の例。http://www.chuidiang.org/java/tablas/tablamodelo/tablamodelo.php から取得

コンピューターの丸薬 [pildorasinformaticas]。(2017 年 9 月 20 日)。ジャワコース 附属書 III. JTable I. ビデオ 267 [ビデオ ファイル]。https://www.youtube.com/watch?v=yH_g6QGFqes から復元

先生、J. (2011 年 1 月 24 日)。Java JTable から行を選択する方法。2021 年 9 月 13 日、http://jedicerocool.blogspot.com/2011/01/como-seleccionar-una-fila-de-un-jtable.html から取得

-広告-

Israel Parada (Licentiate,Professor ULA)
Israel Parada (Licentiate,Professor ULA)
(Licenciado en Química) - AUTOR. Profesor universitario de Química. Divulgador científico.

Artículos relacionados