2014年6月21日土曜日

SwingBuilderでテーブルのセル以外の部分の背景色を設定する

SwingBuilderでテーブルのセル以外の部分の背景色を設定するには、以下のコードのようにscrollPaneのviewport.background/opaqueを使用します。

サンプルコード
import java.awt.*
import javax.swing.*
import groovy.swing.*

data = [
  [category:'Language', name:'Java'],
  [category:'Language', name:'Groovy']
]

sb = new SwingBuilder()
sb.edt {
  frame(
    title: "background color of viewport example",
    show: true,
    resizable: true,
    size: [300, 100],
    defaultCloseOperation: WindowConstants.EXIT_ON_CLOSE
  ){
    scrollPane(id:"sp"){
      table(id:"table"){
        tableModel(list: data){
          propertyColumn( header:"category", propertyName: "category", editable: false )
          propertyColumn( header:"name", propertyName: "name", editable: false )
        }
      }
    }
    sp.viewport.opaque = true
    sp.viewport.background = new Color(0xff, 0xff, 0xbb)
  }
}
実行時画面

動作環境
groovy 2.2.2, JDK 1.7 update55

○テーブルに関するその他のエントリ

0 件のコメント:

コメントを投稿