JTableにてExcel風の行ヘッダ付きテーブルを作ってみました

SwingのJTableは、デフォルトでは列ヘッダは付きますが行ヘッダが付きません。
Excelのように行ヘッダ(1,2,3,4...)を付けるサンプルを作成したのでメモします。

意外と情報が無かったんですが、実際ソースにしてみると結構シンプルに書けました。

require 'rubeus'

Rubeus::Swing.irb

JFrame.new "sample table" do |frame|
  JScrollPane.new do
    @table = JTable.new
    @table.model = ['']+('A'..'G').to_a
    @table.column_model.column(0).cell_renderer = @table.table_header.default_renderer
    (1..10).each {|i| @table.model.add_row [i]}
  end

  frame.location_relative_to = nil
  frame.size = "320x200"
  frame.visible = true
end


  @table.column_model.column(0).cell_renderer = @table.table_header.default_renderer

ここで、0列目のセルをテーブルヘッダにする、という記述になります。

ちなみに、テーブルのサイズをかえるには、以下にように指定すればよさそうです。

  JTable.new :preferred_size=>"400x300"


JTableはちょっと調べてみたところ、いろいろできて結構奥が深そうです。
とりあえず、ここまで。