Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- val myTable = new Table {
- lazy val tcm = initColumnModel
- peer.setColumnModel(tcm)
- override
- protected def rendererComponent(sel: Boolean, foc: Boolean, row: Int, col: Int) = {
- //GET THE VALUE FROM THE TableModel
- val value = model.getValueAt(
- peer.convertRowIndexToModel(row),
- peer.convertColumnIndexToModel(col))
- //GET THE RENDERER FROM THE ColumnModel
- val renderer = tcm.getColumn(col).getCellRenderer
- //WRAP IN A COMPONENT
- Component.wrap(renderer.getTableCellRendererComponent(
- peer,
- value,
- sel,
- foc,
- row,
- col).asInstanceOf[JComponent])
- }
- }
- val tcr = new Table.AbstractRenderer[MyObj, MyRenderer](new MyRenderer) {
- def configure(t: Table, sel: Boolean, foc: Boolean, o: MyObj, row: Int, col: Int) = {
- //component variable is bound to your renderer
- component.prepare(o)
- }
- }
- class MyRenderer extends Label {
- def prepare(o: MyObj) {
- text = o.toString //or whatever
- }
- }
- val t = new Table {
- override def rendererComponent(sel: Boolean, foc: Boolean, row: Int, col: Int) = {
- //FIND VALUE
- val v = model.getValueAt(
- peer.convertRowIndexToModel(row),
- peer.convertColumnIndexToModel(row))
- col match {
- case 0 => tcr.componentFor(this, sel, foc, v, row, col)
- }
- }
- }
- val ltcr = new LabelRenderer[MyObj] ( (o: MyObj) => (null, o.toString) )
Add Comment
Please, Sign In to add comment