Tabla de Contenidos
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 から取得