scalafx

ScalaFX simplifies creation of JavaFX-based user interfaces in Scala

OTHER License

Stars
671

Bot releases are hidden (Show)

scalafx - Release v.22.0.0-R33 Latest Release

Published by jpsacha 7 months ago

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.

New Features

  • JavaFX 22: Add wrapper for Platform.Preferences #404
  • JavaFX 22: Add new methods in Platform #405
  • JavaFX 22: Add wrapper for the new ColorScheme #406

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.

scalafx - Release v.21.0.0-R32

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.

New Features

  • Support JavaFX 21 [#395]
    • Support new implementation of EventTarget [#396]
    • Add methods added to javafx.application.Platform: canStartNestedEventLoop
    • Add constants added to scalafx.scene.AccessibleRole: CHECK_BOX_TREE_ITEM
    • Add wrapper for "javafx.util.Subscription", new in JavaFX 21 [#397]
    • GridPane has a new constructor: GridPane(double hgap, double vgap) [#399]
  • Move Scala 3 binary support to Scala 3.3 LTS [#394]

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.

scalafx - Release v.20.0.0-R31

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.

New Features

  • Update JavaFX to version 20 [#388].
  • ResizeFeaturesBase is now abstract [#389]
  • AccessibleRole has now field DIALOG [#390]
  • Add wrapper and a demo for new method 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.

scalafx - Release v.19.0.0-R30

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+.

New Features

  • Update JavaFX to version 19 [#385]. This adds two new read-only properties
    to 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

scalafx - Release v.18.0.2-R29

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+.

New Features

  • Bump JavaFX to 18.0.2 [#383]

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

scalafx - Release v.18.0.1-R28

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+.

New Features

  • Make ScalaFX dependent on JavaFX non-native binaries [#380]

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

scalafx - Release v.18.0.1-R27

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+.

New Features

Bug fixes:

  • Incorrect deprecation warning for cellFactory [#363]
  • NPE in TableColumn.cellValueFactory_= [#371], thanks to @s-bernard
  • Fix NPEs in TableColumn, TreeTableColumn & Stage [#372], thanks to @s-bernard

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.

scalafx - Release v.17.0.1-R26

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+.

New Features

  • Issue #368 - Support for JavaFX 17, thanks to PR from @rom1dep

Bug fixes:

  • Issue #366 - NPE possible when getting a column from a TableView.ResizeFeatures #366, thanks to bug report from @s-bernard

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.

scalafx - Release v.16.0.0-R25

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.

New Features

  • Issue #256 - Change custom cellFactory assignment methods to help in correct implementation that avoids
    artifacts

Bug fixes:

  • Issue #360 - Implicit should convert jfxa.Application.Parameters to JFXApp3.Parameters

Updates to documentation and demos:

  • Issue #352 - Update scaladoc demos to use JFXApp3. Big thanks to @rom1dep for converting the demos.
  • Issue #353 - Update scalafx.org documentation to use 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.

scalafx - Release v.16.0.0-R24

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:

  • Issue #355 - Scala 3 build should not depend on scala-reflect 2.13

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.

scalafx - Release v.16.0.0-R23

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

Changes

  • 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 Panes 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.

scalafx - Release v.16.0.0-R22

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.

Braking changes

  • 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

New Features

  • Issue #322 - support Scala 3 #322. ScalaFX now provides Scala 3.0.0-RC3 binaries. Initially, the code base is
    intentionally fully compatible with Scala 2.13 (most with Scala 2.12 too). Note that JFXApp compiles but does not
    run in Scala 3. You need to use JFXApp3 instead.
  • Issue #344 - update to JavaFX 16.
  • Issue #341 - change ObservableBuffer#sort() to take implicit ordering, like Scala collections.
  • Issue #339 - simpler use of DragEvent#acceptTransferModes(...)

Bug Fixes

  • Issue #336 Regression: compilation fails when using event.acceptTransferModes #336
  • Issue #342 ObservableBuffer#concat collides with Scala's concat #342

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.

scalafx - Release v.15.0.1-R21

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:

  • Issue #335 Correct implementation of 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.

scalafx - Release v.15.0.1-R20

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:

  • Issue #331 Update to JavaFX 15
  • Issue #324 Add type annotations for all public members. This also helps with forward compatibility with Scala 3
  • Issue #325 TreeTableColumn#cellValueFactory documentation comments
  • Issue #332 Add JFXApp3 - replacement for JFXApp that is compatible with Scala 3

Bug fixes:

  • Issue #326 Methods with side effects should use parenthesis
    • scalafx.embed.swing.SFXPanel#addNotify()
    • scalafx.embed.swing.SFXPanel#removeNotify()
  • Issue #329 Can not access 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.

scalafx - Release v.14-R19 for Java 11+

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:

Bug fixes:

  • Issue #311: Update Color.scala - correct delegate for grayRgb

Internal changes:

  • Issue #318: Use ScalaTest 3.1 - update for new API

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.

scalafx - Release v.12.0.2-R18 for JavaFX 12

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:

  • Issue #310: Call to Axis.invalidateRange results in StackOverflowError

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.

scalafx - Release v.12.0.1-R17 for Java 11+

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.)

    • added getCenterX
    • added getCenterY
    • added getCenterZ
  • 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.

scalafx - Release v8.0.192-R14 for JavaFX 8

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.

scalafx - Release v.11-R16 for JavaFX 11

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:

  • Issue #185: Correct implementation of "Enum" classes.
  • Issue #288 Add wrappers for new Spinner properties in JavaFX 11

Internal changes:

  • Issue #287 Add support for building with Java 11
  • Issue #289 Exclude JavaFX 11 OS dependent libraries when publishing binaries

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.

scalafx - Release v.10.0.2-R15 for JavaFX 10

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:

  • Add missing public static methods for Font: loadFonts(url), loadFonts(stream)
  • Add missing properties for Node: viewOrder
  • Add missing public static methods for Platform: requestNextPulse, startup, enterNestedEventLoop, exitNestedEventLoop, isNestedLoopRunning
  • Add missing properties for Window: renderScaleX, renderScaleY, outputScaleX, outputScaleY, forceIntegerRenderScale
  • Add missing properties for MenuButton: onHiding, onShowing, onShown, onHidden
  • Add missing properties for Spinner: promptText
  • StyleConverter: wrap the StringStore class
  • Add public static methods for StyleConverter: readBinary, clearCache
  • Add missing properties for TabPane: tabDragPolicy
  • Add missing properties for Text: caretBias, caretPosition, caretShape, selectionEnd, selectionFill, selectionShape, selectionStart
  • Add missing properties for 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.