Browse Source

A couple of classes for making custom table cells

master
Sarah Gerweck 8 years ago
parent
commit
0f3361017d
  1. 8
      src/main/scala/org/gerweck/scalafx/util/control/CenteredTextCell.scala
  2. 22
      src/main/scala/org/gerweck/scalafx/util/control/GenericCell.scala

8
src/main/scala/org/gerweck/scalafx/util/control/CenteredTextCell.scala

@ -0,0 +1,8 @@
package org.gerweck.scalafx.util.control
import scalafx.geometry.Pos
import scalafx.scene.control.TableCell
class CenteredTextCell[A, B] extends TableCell[A, B](new GenericCell[A, B]) {
alignment = Pos.Center
}

22
src/main/scala/org/gerweck/scalafx/util/control/GenericCell.scala

@ -0,0 +1,22 @@
package org.gerweck.scalafx.util.control
class GenericCell[A, B] extends javafx.scene.control.TableCell[A, B] {
def handleItemUpdate(item: B) = {
text = item.toString
}
override def updateItem(item: B, empty: Boolean) = {
super.updateItem(item, empty)
if (empty || item == null) {
text = null
graphic = null
} else {
handleItemUpdate(item)
}
}
final def text = getText()
final def text_=(s: String) = setText(s)
final def graphic = getGraphic()
final def graphic_=(g: javafx.scene.Node) = setGraphic(g)
}
Loading…
Cancel
Save