2011-10-18 13 views
0

Java JTableコンポーネントを使用して列ヘッダーで列名を判断する方法はありますか? E.G.、私は "ヘッダー"と列名 "列"のような列ヘッダーを持つことができます。そして私はColumn_Name_From_Header( "Header") - > "Column"のようなメソッドを探しています。JTableの列ヘッダーで列名を決定する

+0

「名前」はどういう意味ですか?もっと早く助けを求めるには、[SSCCE](http://pscode.org/sscce.html)を投稿してください。 –

+0

例は最初の答えです。 JTable tbl = ... 文字列colName = tbl.getModel()。getColumnName(10); しかしここには、整数値 - 列番号のColumnNameがあります。 – Max

+0

なぜあなたはこの価値を必要としていないのか何であれ、なぜそれを知る必要があるのですか。 – mKorbel

答えて

1

テーブルの列モデルのテーブル列を繰り返します。指定されたヘッダー値(headerValue.equals(tableColumn.getHeaderValue()を使用)を持つものを探します。次に、カラムtableColumn.getModelIndex()modelIndexに質問し、テーブルのモデルにこのインデックスのカラム名を問い合わせてください:tableModel.getColumnName(index)

+0

合理的に聞こえる。私はJavaが初めてです。今すぐこのロジックを実装しようとします。後で結果を掲載します。 – Max

+0

他の人たちと同じように、なぜあなたはそのようなことが必要なのだろうと思います。これはおそらくあなたのプログラムの誤解を示しているでしょう。 –

+0

ありがとうございます。できます。 – Max

3

JTableへの参照がある場合は、列名を取得する最も簡単な方法は、基底のTableModelから取得することです。例えば

JTable tbl = ... 
String colName = tbl.getModel().getColumnName(10); 

アクセスがモデル指数なく、ビュー・インデックスを使用して行われ、これは典型的には望ましいです。これは、たとえば、JTableの列を使用する場合、モデル内の列名の予測可能な順序が同じであることを意味します。

+0

まあ、はい。しかし、この例では、入力として整数値(たとえば10)を使用して列名を返すgetColumnNameメソッドがあります。列ヘッダーの文字列値ではありません。 – Max

+0

@マックス:私はまったくフォローしていません - あなたはストリングを持っていて、ストリングを取り戻したいですか?カラム名ではない場合のヘッダとは何ですか? – Adamski

+0

カラムヘッダーは、データがテーブルにロードされたときに表示されます。あなたのプログラムでテーブルを見るとき。例えば。 "りんご"。列名は「apples_1」のような内部変数名です。 – Max

関連する問題