ScalaFX simplifies creation of JavaFX-based user interfaces in Scala
OTHER License
Bot releases are visible (Hide)
This release supports JavaFX 22. It was tested with Java 17 and Java 20. It can be used with Scala 2.12, 2.13,
and Scala 3.3+.
Note that JavaFX 22 requires Java 17 or newer. If you need to run on Java earlier than 17, please use
previous releases of JavaFX/ScalaFX.
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group. Please report any problems
using ScalaFX Issue Tracker.
Published by jpsacha 11 months ago
This release supports JavaFX 21. It was tested with Java 17 and Java 20. It can be used with Scala 2.12, 2.13, and Scala 3+.
Note that JavaFX 21 requires Java 17 or newer. If you need to run on Java earlier than 17, please use previous releases of ScalaFX.
javafx.application.Platform
: canStartNestedEventLoop
scalafx.scene.AccessibleRole
: CHECK_BOX_TREE_ITEM
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions please use ScalaFX Discussions, or ScalaFX Users Group. Please report any problems using ScalaFX Issue Tracker.
Published by jpsacha over 1 year ago
This release supports JavaFX 20. It was tested with Java 17 and Java 20. It can be used with Scala 2.12, 2.13,
and Scala 3+.
Note that JavaFX 20 requires Java 17 or newer. If you need to run on Java earlier than 17, please use
previous releases of ScalaFX.
ResizeFeaturesBase
is now abstract [#389]AccessibleRole
has now field DIALOG
[#390]ObservableValue.when
[#391]For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.
Published by jpsacha about 2 years ago
This release is intended for JavaFX 19. It was build to support Java 8 binary format, and was tested to work with Java
11 and Java 17. It can be used with Scala 2.12, 2.13, and Scala 3+.
Node
: focusVisible
and focusWithin
.For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.
Full Changelog: https://github.com/scalafx/scalafx/compare/v.18.0.2-R29...v.19.0.0-R30
Published by jpsacha about 2 years ago
This release of ScalaFX removed need to explicitly add JavaFX dependencies.
The release is intended for JavaFX 18. It was build to support Java 8 binary format, and was tested to work with Java
11 and Java 17. It can be used with Scala 2.12, 2.13, and Scala 3+.
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.
Full Changelog: https://github.com/scalafx/scalafx/compare/v.18.0.1-R28...v.18.0.2-R29
Published by jpsacha over 2 years ago
This release of ScalaFX removed need to explicitly add JavaFX dependencies.
The release is intended for JavaFX 18. It was build to support Java 8 binary format, and was tested to work with Java
11 and Java 17. It can be used with Scala 2.12, 2.13, and Scala 3+.
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.
Full Changelog: https://github.com/scalafx/scalafx/compare/v.18.0.1-R27...v.18.0.1-R28
Published by jpsacha over 2 years ago
This release of ScalaFX adds support for JavaFX 18. The release was build to support Java 8 binary format, and was tested to work with Java 11 and Java 17. It can be used with Scala 2.12, 2.13, and Scala 3+.
cellFactory
[#363]TableColumn.cellValueFactory_=
[#371], thanks to @s-bernardTableColumn
, TreeTableColumn
& Stage
[#372], thanks to @s-bernardFor downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.
Published by jpsacha almost 3 years ago
This release of ScalaFX adds long awaited support for JavaFX 17. This release was tested to work with Java 11 and Java 17. It can be used with Scala 2.12, 2.13, and Scala 3+.
TableView.ResizeFeatures
#366, thanks to bug report from @s-bernardFor downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.
Published by jpsacha about 3 years ago
ScalaFX 16.0.0-R25 supports JavaFX 16. This release was tested to work with Java 11 and Java 16. It can be used
with Scala 2.12, 2.13, and Scala 3.
The main new feature of this release is the simpler way to crate custom cellFactory
(Issue #256). The JavaFX
boilerplate code generation was moved behind the scenes. A correct cellFactory
can be defined with a simple lambda.
For instance, here we render a cell content as a Circle of a given color:
cellFactory = (cell, color) => {
cell.graphic = Circle(fill = color, radius = 8)
}
Compare to the more verbose way that had to be done in previous versions to endure that empty cells are rendered
correctly:
cellFactory = { _ =>
new TableCell[Person, Color] {
item.onChange { (_, _, newColor) =>
graphic =
if (newColor != null)
new Circle {
fill = newColor
radius = 8
}
else
null
}
}
}
You can find a brief description here. There are several examples of how to
use cellFactory
use with different controls in scalafx-demos.
Note that if you use the old way of assigning cellFactory
you will need to be more explicit and provide type
annotations for lambda arguments. Without that some old code may not compile with 16.0.0-R25.
jfxa.Application.Parameters
to JFXApp3.Parameters
JFXApp3
. Big thanks to @rom1dep for converting the demos.JFXApp3
instead of deprecated JFXApp
.For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.
Published by jpsacha over 3 years ago
ScalaFX 16.0.0-R24 supports JavaFX 16. This release was tested to work with Java 11 and Java 16. It can be used with
Scala 2.12, 2.13, and Scala 3.
Main reason for this release is to correct issue in Scala 3 binaries dependency:
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.
Published by jpsacha over 3 years ago
ScalaFX 16.0.0-R23 supports JavaFX 16. This release was tested to work with Java 11 and Java 16. It can be used with
Scala 2.12, 2.13, and Scala 3.
Main reason for this release is to publish binaries for final release of Scala 3.0.0
Issue #349 - Update to Scala 3.0.0-RC3 to final release 3.0.0
Issue #345 - Deprecate JFXApp
. It depends on DelayedInit
that is deprecated since Scala 2.11.0, and no
longer works in Scala 3.
Issue #137 - Creation of a TableView
not possible. This issue is due to bug in Scala compiler 2.12, no longer
present in Scala 2.13, nor Scala 3.
Issue #181 - Type Mismatch in adding Pane
s to children of a Pane
. This issue is due to bug in Scala compiler
2.12, no longer present in Scala 2.13, nor Scala 3.
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.
Published by jpsacha over 3 years ago
ScalaFX 16.0.0-R22 support JavaFX 16. This release was tested to work with Java 11 and Java 16. It can be used with Scala 2.12, 2.13, and Scala 3.0.0-RC3.
Issue #340 - make collections creation consistent with Scala collections 2.13 and Scala 3. The change impact
cases when you create a ScalaFX collection from other collections. For instance, before ObservableBuffer(1,2,3)
and ObservableBuffer(Seq(1,2,3))
created collection of type ObservableBuffer[Int]
, this lead to some ambiguities
what the type of the collection should be. To make clear that you want to copy individual elements rather than the
whole collection as a single element use from
method. For instance, ObservableBuffer.from(Seq(1,2,3))
will create
collection of type ObservableBuffer[Int]
. Now ObservableBuffer(Seq(1,2,3))
will assume that you are passing only
one element of type Seq[Int]
so it will create collection of type ObservableBuffer[Seq[Int]]
. This behaviour is
consistent with the collection factory methods in Scala 2.13 and Scala 3.
In other words, if you provide elements directly, use ObservableBuffer(1,2,3)
. If you have elements in some other
collection, say mySeq
of type Seq[Int]
and you want to create ObservableBuffer
from its individual elements,
use ObservableBuffer.from(mySeq)
.
Issue #327 - Discontinue support for Scala 2.11 in new release
JFXApp
compiles but does notJFXApp3
instead.DragEvent#acceptTransferModes(...)
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.
Published by jpsacha almost 4 years ago
ScalaFX 15.0.1-R21 targets support of JavaFX 15. This release was tested to work with Java 11 and Java 15. This release can be used with Scala 2.11, 2.12, 2.13, and Scala 3.
Bug fixes:
CheckBoxTreeTableCell.forTreeTableColumn()
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub.
If you have ScalaFX related questions please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow.
Please report any problems using ScalaFX Issue Tracker.
Published by jpsacha almost 4 years ago
ScalaFX 15.0.1-R20 targets support of JavaFX 15. This release was tested to work with Java 11 and Java 15. This
release can be used with Scala 2.11, 2.12, 2.13, and Scala 3.
New Features:
TreeTableColumn#cellValueFactory
documentation commentsJFXApp3
- replacement for JFXApp
that is compatible with Scala 3Bug fixes:
scalafx.embed.swing.SFXPanel#addNotify()
scalafx.embed.swing.SFXPanel#removeNotify()
getStyleableNode
in javafx.scene.control.TableColumn
Other:
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub.
If you have ScalaFX related questions please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow.
Please report any problems using ScalaFX Issue Tracker.
Published by jpsacha over 4 years ago
ScalaFX 14-R19 targets support of JavaFX 14. This release was tested to work with Java 11 and Java 14.
New Features:
handle{...}
Bug fixes:
grayRgb
Internal changes:
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub.
Please report any problems using ScalaFX Issue Tracker.
Please use ScalaFX Users Group to post questions.
Published by jpsacha about 5 years ago
ScalaFX 12.0.2-R18 was tested against JavaFX 12.0.8. Main improvements are changes to support Scala 2.13, while maintaining compatibility with Scala 2.12, 2.11, and 2.10. This release was tested to work with Java 11 and Java 12.
New Features:
Bug fixes:
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub.
Please report any problems using ScalaFX Issue Tracker.
Please use ScalaFX Users Group to post questions.
Published by jpsacha over 5 years ago
ScalaFX 12.0.1-R17 was tested against JavaFX 12.0.1. It contains changes to better support JavaFX 12.
It includes features from recently released versions 8.0.192-R14.
PR #293 Add all missing properties for Bounds (thanks to Romain DEP.)
Issue #291: Remove use of JavaConversions in the code
Issue #303: Support JavaFX 12
Issue #302: Support new MouseButton constants added in JavaFX 12 #302
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub.
Please report any problems using ScalaFX Issue Tracker.
Please use ScalaFX Users Group to post questions.
Published by jpsacha over 5 years ago
ScalaFX 8.0.192-R14 was tested against JavaFX 8.0u192. It contains bug fixes.
Scala 2.10, 2.11, and 2.12 are supported.
Bug fixes:
To use ScalaFX add following to your SBT:
libraryDependencies += "org.scalafx" %% "scalafx" % "8.0.192-R14"
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub.
Please report any problems using ScalaFX Issue Tracker.
Please use ScalaFX Users Group to post questions.
Published by jpsacha about 6 years ago
ScalaFX 11-R16 was tested against JavaFX 11. It contains changes to better support JavaFX 11.
It includes features from recently released versions 8.0.181-R13 and 10.0.2-R15.
End user visible features:
Internal changes:
To use ScalaFX with Java 11 add following to your SBT:
// Add dependency on ScalaFX library
libraryDependencies += "org.scalafx" %% "scalafx" % "11-R16"
// Determine OS version of JavaFX binaries
lazy val osName = System.getProperty("os.name") match {
case n if n.startsWith("Linux") => "linux"
case n if n.startsWith("Mac") => "mac"
case n if n.startsWith("Windows") => "win"
case _ => throw new Exception("Unknown platform!")
}
lazy val javaFXModules = Seq("base", "controls", "fxml", "graphics", "media", "swing", "web")
libraryDependencies ++= javaFXModules.map( m =>
"org.openjfx" % s"javafx-$m" % "11" classifier osName
)
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub.
Please report any problems using ScalaFX Issue Tracker.
Please use ScalaFX Users Group to post questions.
Published by jpsacha about 6 years ago
ScalaFX 10.0.2-R15 was tested against JavaFX 10.0.2. It contains changes to better support JavaFX 10.
New features, many provided by Romain DEP:
Font
: loadFonts(url)
, loadFonts(stream)
Node
: viewOrder
Platform
: requestNextPulse
, startup
, enterNestedEventLoop
, exitNestedEventLoop
, isNestedLoopRunning
Window
: renderScaleX
, renderScaleY
, outputScaleX
, outputScaleY
, forceIntegerRenderScale
MenuButton
: onHiding
, onShowing
, onShown
, onHidden
Spinner
: promptText
StyleConverter
: wrap the StringStore
classStyleConverter
: readBinary
, clearCache
TabPane
: tabDragPolicy
Text
: caretBias
, caretPosition
, caretShape
, selectionEnd
, selectionFill
, selectionShape
, selectionStart
Tooltip
: hideDelay
, showDelay
, showDuration
To use ScalaFX add following to your SBT:
libraryDependencies += "org.scalafx" %% "scalafx" % "10.0.2-R15"
For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub.
Please report any problems using ScalaFX Issue Tracker.
Please use ScalaFX Users Group to post questions.