<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="http://scalafx.org/feed.xml" rel="self" type="application/atom+xml" /><link href="http://scalafx.org/" rel="alternate" type="text/html" /><updated>2024-09-21T16:34:43-04:00</updated><id>http://scalafx.org/feed.xml</id><title type="html">ScalaFX</title><subtitle>ScalaFX - a simpler way of using JavaFX in Scala.</subtitle><entry><title type="html">ScalaFX 20.0.0-R31 Released</title><link href="http://scalafx.org/release/2023/04/04/20.0.0-R31-released/" rel="alternate" type="text/html" title="ScalaFX 20.0.0-R31 Released" /><published>2023-04-04T15:12:03-04:00</published><updated>2023-04-04T15:12:03-04:00</updated><id>http://scalafx.org/release/2023/04/04/20.0.0-R31-released</id><content type="html" xml:base="http://scalafx.org/release/2023/04/04/20.0.0-R31-released/"><![CDATA[<p>This release supports <a href="https://openjfx.io/highlights/20/">JavaFX 20</a>. It was tested with Java 17 and Java 20. It can be used with Scala 2.12, 2.13,
and Scala 3+.</p>

<p>Note that <a href="https://openjfx.io/highlights/20/">JavaFX 20 requires Java <strong>17 or newer</strong></a>. If you need to run on Java earlier than 17, please use
previous releases of ScalaFX.</p>

<h3 id="new-features">New Features</h3>

<ul>
  <li>Update JavaFX to version 20 [<a href="https://github.com/scalafx/scalafx/issues/388">#388</a>].</li>
  <li><code class="language-plaintext highlighter-rouge">ResizeFeaturesBase</code> is now abstract  [<a href="https://github.com/scalafx/scalafx/issues/389">#389</a>]</li>
  <li><code class="language-plaintext highlighter-rouge">AccessibleRole</code> has now field <code class="language-plaintext highlighter-rouge">DIALOG</code>  [<a href="https://github.com/scalafx/scalafx/issues/390">#390</a>]</li>
  <li>Add wrapper and a demo for new method <code class="language-plaintext highlighter-rouge">ObservableValue.when</code> [<a href="https://github.com/scalafx/scalafx/issues/391">#391</a>]</li>
</ul>

<p>For downloads visit <a href="http://search.maven.org/#search&#124;ga&#124;1&#124;scalafx">ScalaFX on Sonatype</a> or <a href="https://github.com/scalafx/scalafx/releases">ScalaFX Releases</a> on GitHub. If you have ScalaFX related questions
please use <a href="https://github.com/scalafx/scalafx/discussions">ScalaFX Discussions</a>, or <a href="https://groups.google.com/forum/#!forum/scalafx-users">ScalaFX Users Group</a>, or <a href="https://stackoverflow.com/questions/tagged/scalafx">ScalaFX on StackOverflow</a>. Please report any
problems using <a href="https://github.com/scalafx/scalafx/issues">ScalaFX Issue Tracker</a>.</p>

<!-- Links -->]]></content><author><name>jpsacha</name></author><category term="release" /><summary type="html"><![CDATA[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+.]]></summary></entry><entry><title type="html">ScalaFX 19.0.0-R30 Released</title><link href="http://scalafx.org/release/2022/10/02/19.0.0-R30-released/" rel="alternate" type="text/html" title="ScalaFX 19.0.0-R30 Released" /><published>2022-10-02T15:12:03-04:00</published><updated>2022-10-02T15:12:03-04:00</updated><id>http://scalafx.org/release/2022/10/02/19.0.0-R30-released</id><content type="html" xml:base="http://scalafx.org/release/2022/10/02/19.0.0-R30-released/"><![CDATA[<p>This release is intended for <a href="https://openjfx.io/highlights/19/">JavaFX 19</a>. 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+.</p>

<h3 id="new-features">New Features</h3>

<ul>
  <li>Update JavaFX to <a href="https://openjfx.io/highlights/19/">version 19</a> [<a href="https://github.com/scalafx/scalafx/issues/383">#385</a>]. This adds two new read-only properties
to <code class="language-plaintext highlighter-rouge">Node</code>: <code class="language-plaintext highlighter-rouge">focusVisible</code> and <code class="language-plaintext highlighter-rouge">focusWithin</code>.</li>
</ul>

<p>For downloads visit <a href="http://search.maven.org/#search&#124;ga&#124;1&#124;scalafx">ScalaFX on Sonatype</a> or <a href="https://github.com/scalafx/scalafx/releases">ScalaFX Releases</a> on GitHub. If you have ScalaFX related questions
please use <a href="https://github.com/scalafx/scalafx/discussions">ScalaFX Discussions</a>, or <a href="https://groups.google.com/forum/#!forum/scalafx-users">ScalaFX Users Group</a>, or <a href="https://stackoverflow.com/questions/tagged/scalafx">ScalaFX on StackOverflow</a>. Please report any
problems using <a href="https://github.com/scalafx/scalafx/issues">ScalaFX Issue Tracker</a>.</p>

<!-- Links -->]]></content><author><name>jpsacha</name></author><category term="release" /><summary type="html"><![CDATA[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+.]]></summary></entry><entry><title type="html">ScalaFX-Extras v.0.7.0 Released</title><link href="http://scalafx.org/release/2022/07/22/Extras-0.7.0-released/" rel="alternate" type="text/html" title="ScalaFX-Extras v.0.7.0 Released" /><published>2022-07-22T15:13:03-04:00</published><updated>2022-07-22T15:13:03-04:00</updated><id>http://scalafx.org/release/2022/07/22/Extras-0.7.0-released</id><content type="html" xml:base="http://scalafx.org/release/2022/07/22/Extras-0.7.0-released/"><![CDATA[<p>This release of <a href="https://github.com/scalafx/scalafx-extras">ScalaFX-Extras</a> provides a convenient way to generate dialogs from case classes (scala 3).
<code class="language-plaintext highlighter-rouge">AutoDialog</code> is used too quickly open auto generated dialog from case class.
After closing, the dialog will return edited version of the input case class:</p>

<div class="language-scala highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">import</span> <span class="nn">org.scalafx.extras.auto_dialog.AutoDialog</span>

<span class="k">case</span> <span class="k">class</span> <span class="nc">FilterOptions</span><span class="o">(</span><span class="n">kernelSize</span><span class="k">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="mi">7</span><span class="o">,</span>
                         <span class="n">start</span><span class="k">:</span> <span class="kt">Double</span> <span class="o">=</span> <span class="mf">3.14</span><span class="o">,</span>
                         <span class="n">tag</span><span class="k">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">"alpha"</span><span class="o">,</span>
                         <span class="n">debugMode</span><span class="k">:</span> <span class="kt">Boolean</span> <span class="o">=</span> <span class="kc">false</span><span class="o">)</span>

<span class="k">val</span> <span class="nv">result</span><span class="k">:</span> <span class="kt">Option</span><span class="o">[</span><span class="kt">FilterOptions</span><span class="o">]</span> <span class="k">=</span>
  <span class="k">new</span> <span class="nc">AutoDialog</span><span class="o">(</span><span class="nc">FilterOptions</span><span class="o">())</span>
    <span class="o">.</span><span class="py">showDialog</span><span class="o">(</span>
      <span class="s">"AutoDialog Demo"</span><span class="o">,</span>
      <span class="s">"Fields are auto generated from `FilterOptions` object"</span><span class="o">)</span>

<span class="nf">println</span><span class="o">(</span><span class="n">s</span><span class="s">"Result: $result"</span><span class="o">)</span>
</code></pre></div></div>

<p>The <code class="language-plaintext highlighter-rouge">scalafx-extras-demos</code> subproject has an example.</p>

<p>Enhancements:</p>

<ul>
  <li>[Scala 3] auto generate input dialogs from simple case classes [<a href="https://github.com/scalafx/scalafx-extras/issues/18">#18</a>]</li>
  <li>Update to ScalaFX 18.0.2-R29 [<a href="https://github.com/scalafx/scalafx-extras/issues/20">#20</a>]</li>
</ul>

<p>To post questions please use <a href="https://github.com/scalafx/scalafx-extras/discussions">Project Discussions</a> or <a href="https://groups.google.com/forum/#!forum/scalafx-users">ScalaFX Users Group</a></p>]]></content><author><name>jpsacha</name></author><category term="release" /><summary type="html"><![CDATA[This release of ScalaFX-Extras provides a convenient way to generate dialogs from case classes (scala 3). AutoDialog is used too quickly open auto generated dialog from case class. After closing, the dialog will return edited version of the input case class:]]></summary></entry><entry><title type="html">ScalaFX 18.0.2-R29 Released</title><link href="http://scalafx.org/release/2022/07/22/18.0.2-R29-released/" rel="alternate" type="text/html" title="ScalaFX 18.0.2-R29 Released" /><published>2022-07-22T15:12:03-04:00</published><updated>2022-07-22T15:12:03-04:00</updated><id>http://scalafx.org/release/2022/07/22/18.0.2-R29-released</id><content type="html" xml:base="http://scalafx.org/release/2022/07/22/18.0.2-R29-released/"><![CDATA[<p>This release of <a href="http://scalafx.org">ScalaFX</a> removed need to explicitly add JavaFX dependencies.</p>

<p>The release is intended for <a href="https://openjfx.io/highlights/18/">JavaFX 18</a>. 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+.</p>

<h3 id="new-features">New Features</h3>

<ul>
  <li>Bump JavaFX to 18.0.2  [<a href="https://github.com/scalafx/scalafx/issues/383">#383</a>]</li>
</ul>

<p>For downloads visit <a href="http://search.maven.org/#search&#124;ga&#124;1&#124;scalafx">ScalaFX on Sonatype</a> or <a href="https://github.com/scalafx/scalafx/releases">ScalaFX Releases</a> on GitHub. If you have ScalaFX related questions
please use <a href="https://github.com/scalafx/scalafx/discussions">ScalaFX Discussions</a>, or <a href="https://groups.google.com/forum/#!forum/scalafx-users">ScalaFX Users Group</a>, or <a href="https://stackoverflow.com/questions/tagged/scalafx">ScalaFX on StackOverflow</a>. Please report any
problems using <a href="https://github.com/scalafx/scalafx/issues">ScalaFX Issue Tracker</a>.</p>

<!-- Links -->]]></content><author><name>jpsacha</name></author><category term="release" /><summary type="html"><![CDATA[This release of ScalaFX removed need to explicitly add JavaFX dependencies.]]></summary></entry><entry><title type="html">ScalaFX 18.0.1-R28 Released</title><link href="http://scalafx.org/release/2022/07/15/18.0.1-R28-released/" rel="alternate" type="text/html" title="ScalaFX 18.0.1-R28 Released" /><published>2022-07-15T15:12:03-04:00</published><updated>2022-07-15T15:12:03-04:00</updated><id>http://scalafx.org/release/2022/07/15/18.0.1-R28-released</id><content type="html" xml:base="http://scalafx.org/release/2022/07/15/18.0.1-R28-released/"><![CDATA[<p>This release of <a href="http://scalafx.org">ScalaFX</a> removed need to explicitly add JavaFX dependencies.</p>

<p>The release is intended for <a href="https://openjfx.io/highlights/18/">JavaFX 18</a>. 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+.</p>

<h3 id="new-features">New Features</h3>

<ul>
  <li>Make ScalaFX dependent on JavaFX non-native binaries [<a href="https://github.com/scalafx/scalafx/issues/380">#380</a>]</li>
</ul>

<p>For downloads visit <a href="http://search.maven.org/#search&#124;ga&#124;1&#124;scalafx">ScalaFX on Sonatype</a> or <a href="https://github.com/scalafx/scalafx/releases">ScalaFX Releases</a> on GitHub. If you have ScalaFX related questions
please use <a href="https://github.com/scalafx/scalafx/discussions">ScalaFX Discussions</a>, or <a href="https://groups.google.com/forum/#!forum/scalafx-users">ScalaFX Users Group</a>, or <a href="https://stackoverflow.com/questions/tagged/scalafx">ScalaFX on StackOverflow</a>. Please report any
problems using <a href="https://github.com/scalafx/scalafx/issues">ScalaFX Issue Tracker</a>.</p>

<!-- Links -->]]></content><author><name>jpsacha</name></author><category term="release" /><summary type="html"><![CDATA[This release of ScalaFX removed need to explicitly add JavaFX dependencies.]]></summary></entry><entry><title type="html">ScalaFX-Extras v.0.6.0 Released</title><link href="http://scalafx.org/release/2022/07/14/Extras-0.6.0-released/" rel="alternate" type="text/html" title="ScalaFX-Extras v.0.6.0 Released" /><published>2022-07-14T15:12:03-04:00</published><updated>2022-07-14T15:12:03-04:00</updated><id>http://scalafx.org/release/2022/07/14/Extras-0.6.0-released</id><content type="html" xml:base="http://scalafx.org/release/2022/07/14/Extras-0.6.0-released/"><![CDATA[<p>This release of <a href="https://github.com/scalafx/scalafx-extras">ScalaFX-Extras</a> adds a new class for convenient creation of input dialogs: <code class="language-plaintext highlighter-rouge">GenericDialogFX</code>. You can easily add controls to
he dialog then
read their values after the dialog was closed</p>

<div class="language-scala highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create a dialog</span>
<span class="k">val</span> <span class="nv">dialog</span> <span class="k">=</span>
  <span class="k">new</span> <span class="nc">GenericDialogFX</span><span class="o">(</span>
    <span class="n">title</span> <span class="k">=</span> <span class="s">"GenericDialogFX Demo"</span><span class="o">,</span>
    <span class="n">header</span> <span class="k">=</span> <span class="s">"Fancy description can go here."</span>
  <span class="o">)</span> <span class="o">{</span>
    <span class="c1">// Add fields</span>
    <span class="nf">addCheckbox</span><span class="o">(</span><span class="s">"Check me out!"</span><span class="o">,</span> <span class="n">defaultValue</span> <span class="k">=</span> <span class="kc">false</span><span class="o">)</span>
    <span class="nf">addCheckbox</span><span class="o">(</span><span class="s">"Check me too!"</span><span class="o">,</span> <span class="n">defaultValue</span> <span class="k">=</span> <span class="kc">true</span><span class="o">)</span>
  <span class="o">}</span>

<span class="c1">// Show dialog to the user</span>
<span class="nv">dialog</span><span class="o">.</span><span class="py">showDialog</span><span class="o">()</span>

<span class="c1">// Read input provided by the user</span>
<span class="nf">if</span> <span class="o">(</span><span class="nv">dialog</span><span class="o">.</span><span class="py">wasOKed</span><span class="o">)</span> <span class="o">{</span>
  <span class="k">val</span> <span class="nv">select1</span> <span class="k">=</span> <span class="nv">dialog</span><span class="o">.</span><span class="py">nextBoolean</span><span class="o">()</span>
  <span class="k">val</span> <span class="nv">select2</span> <span class="k">=</span> <span class="nv">dialog</span><span class="o">.</span><span class="py">nextBoolean</span><span class="o">()</span>

  <span class="nf">println</span><span class="o">(</span><span class="n">s</span><span class="s">"Selection 1: $select1"</span><span class="o">)</span>
  <span class="nf">println</span><span class="o">(</span><span class="n">s</span><span class="s">"Selection 2: $select2"</span><span class="o">)</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
  <span class="nf">println</span><span class="o">(</span><span class="s">"Dialog was cancelled."</span><span class="o">)</span>
<span class="o">}</span>
</code></pre></div></div>

<p>The <code class="language-plaintext highlighter-rouge">scalafx-extras-demos</code> subproject has a more elaborated example.</p>

<p>Enhancements:</p>

<ul>
  <li>Support creation of custom dialogs, like ImageJ’s GenericDialog <a href="https://github.com/scalafx/scalafx-extras/issues/16">Issue #16</a></li>
  <li>Let any standard dialog be displayed with a one-liner <a href="https://github.com/scalafx/scalafx-extras/issues/17">Issue #17</a></li>
</ul>]]></content><author><name>jpsacha</name></author><category term="release" /><summary type="html"><![CDATA[This release of ScalaFX-Extras adds a new class for convenient creation of input dialogs: GenericDialogFX. You can easily add controls to he dialog then read their values after the dialog was closed]]></summary></entry><entry><title type="html">ScalaFX 18.0.1-R27 Released</title><link href="http://scalafx.org/release/2022/05/09/18.0.1-R27-released/" rel="alternate" type="text/html" title="ScalaFX 18.0.1-R27 Released" /><published>2022-05-09T15:12:03-04:00</published><updated>2022-05-09T15:12:03-04:00</updated><id>http://scalafx.org/release/2022/05/09/18.0.1-R27-released</id><content type="html" xml:base="http://scalafx.org/release/2022/05/09/18.0.1-R27-released/"><![CDATA[<p>This release of <a href="http://scalafx.org">ScalaFX</a> adds support for <a href="https://openjfx.io/highlights/18/">JavaFX 18</a>. 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+.</p>

<h3 id="new-features">New Features</h3>

<ul>
  <li>Support for [JavaFX 18] [<a href="https://github.com/scalafx/scalafx/issues/376">#376</a>]</li>
</ul>

<h3 id="bug-fixes">Bug fixes:</h3>

<ul>
  <li>Incorrect deprecation warning for <code class="language-plaintext highlighter-rouge">cellFactory</code> [<a href="https://github.com/scalafx/scalafx/issues/363">#363</a>]</li>
  <li>NPE in <code class="language-plaintext highlighter-rouge">TableColumn.cellValueFactory_=</code> [<a href="https://github.com/scalafx/scalafx/issues/371">#371</a>], thanks to @s-bernard</li>
  <li>Fix NPEs in <code class="language-plaintext highlighter-rouge">TableColumn</code>, <code class="language-plaintext highlighter-rouge">TreeTableColumn</code> &amp; <code class="language-plaintext highlighter-rouge">Stage</code> [<a href="https://github.com/scalafx/scalafx/issues/372">#372</a>], thanks to @s-bernard</li>
</ul>

<p>For downloads visit <a href="http://search.maven.org/#search&#124;ga&#124;1&#124;scalafx">ScalaFX on Sonatype</a> or <a href="https://github.com/scalafx/scalafx/releases">ScalaFX Releases</a> on GitHub. If you have ScalaFX related questions
please use <a href="https://github.com/scalafx/scalafx/discussions">ScalaFX Discussions</a>, or <a href="https://groups.google.com/forum/#!forum/scalafx-users">ScalaFX Users Group</a>, or <a href="https://stackoverflow.com/questions/tagged/scalafx">ScalaFX on StackOverflow</a>. Please report any
problems using <a href="https://github.com/scalafx/scalafx/issues">ScalaFX Issue Tracker</a>.</p>

<!-- Links -->]]></content><author><name>jpsacha</name></author><category term="release" /><summary type="html"><![CDATA[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+.]]></summary></entry><entry><title type="html">ScalaFX 17.0.1-R26 Released</title><link href="http://scalafx.org/release/2021/12/04/17.0.1-R26-released/" rel="alternate" type="text/html" title="ScalaFX 17.0.1-R26 Released" /><published>2021-12-04T14:12:03-05:00</published><updated>2021-12-04T14:12:03-05:00</updated><id>http://scalafx.org/release/2021/12/04/17.0.1-R26-released</id><content type="html" xml:base="http://scalafx.org/release/2021/12/04/17.0.1-R26-released/"><![CDATA[<p>This release of <a href="http://scalafx.org">ScalaFX</a> 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+.</p>

<h3 id="new-features">New Features</h3>

<ul>
  <li><a href="https://github.com/scalafx/scalafx/issues/368">Issue #368</a> - Support for JavaFX 17, thanks to PR from @rom1dep</li>
</ul>

<h3 id="bug-fixes">Bug fixes:</h3>

<ul>
  <li><a href="https://github.com/scalafx/scalafx/issues/368">Issue #366</a> - NPE possible when getting a column from a <code class="language-plaintext highlighter-rouge">TableView.ResizeFeatures</code> #366, thanks to bug report from @s-bernard</li>
</ul>

<p>For downloads visit <a href="http://search.maven.org/#search&#124;ga&#124;1&#124;scalafx">ScalaFX on Sonatype</a> or <a href="https://github.com/scalafx/scalafx/releases">ScalaFX Releases</a> on GitHub. If you have ScalaFX related questions
please use <a href="https://github.com/scalafx/scalafx/discussions">ScalaFX Discussions</a>, or <a href="https://groups.google.com/forum/#!forum/scalafx-users">ScalaFX Users Group</a>, or <a href="https://stackoverflow.com/questions/tagged/scalafx">ScalaFX on StackOverflow</a>. Please report any
problems using <a href="https://github.com/scalafx/scalafx/issues">ScalaFX Issue Tracker</a>.</p>

<!-- Links -->]]></content><author><name>jpsacha</name></author><category term="release" /><summary type="html"><![CDATA[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+.]]></summary></entry><entry><title type="html">ScalaFX 16.0.0-R25 Released</title><link href="http://scalafx.org/release/2021/09/18/16.0.0-R25-released/" rel="alternate" type="text/html" title="ScalaFX 16.0.0-R25 Released" /><published>2021-09-18T15:12:03-04:00</published><updated>2021-09-18T15:12:03-04:00</updated><id>http://scalafx.org/release/2021/09/18/16.0.0-R25-released</id><content type="html" xml:base="http://scalafx.org/release/2021/09/18/16.0.0-R25-released/"><![CDATA[<p><a href="http://scalafx.org">ScalaFX</a> 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.</p>

<p>The main new feature of this release is the simpler way to crate custom <code class="language-plaintext highlighter-rouge">cellFactory</code> (<a href="https://github.com/scalafx/scalafx/issues/256">Issue #256</a>). The JavaFX
boilerplate code generation was moved behind the scenes. A correct <code class="language-plaintext highlighter-rouge">cellFactory</code> can be defined with a simple lambda.
For instance, here we render a cell content as a Circle of a given color:</p>

<div class="language-scala highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">cellFactory</span> <span class="k">=</span> <span class="o">(</span><span class="n">cell</span><span class="o">,</span> <span class="n">color</span><span class="o">)</span> <span class="k">=&gt;</span> <span class="o">{</span>
  <span class="nv">cell</span><span class="o">.</span><span class="py">graphic</span> <span class="k">=</span> <span class="nc">Circle</span><span class="o">(</span><span class="n">fill</span> <span class="k">=</span> <span class="n">color</span><span class="o">,</span> <span class="n">radius</span> <span class="k">=</span> <span class="mi">8</span><span class="o">)</span>
<span class="o">}</span>
</code></pre></div></div>

<p>Compare to the more verbose way that had to be done in previous versions to endure that empty cells are rendered
correctly:</p>

<div class="language-scala highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">cellFactory</span> <span class="k">=</span> <span class="o">{</span> <span class="k">_</span> <span class="k">=&gt;</span>
  <span class="k">new</span> <span class="nc">TableCell</span><span class="o">[</span><span class="kt">Person</span>, <span class="kt">Color</span><span class="o">]</span> <span class="o">{</span>
    <span class="nv">item</span><span class="o">.</span><span class="py">onChange</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="k">_</span><span class="o">,</span> <span class="n">newColor</span><span class="o">)</span> <span class="k">=&gt;</span>
      <span class="n">graphic</span> <span class="k">=</span>
        <span class="nf">if</span> <span class="o">(</span><span class="n">newColor</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span>
          <span class="k">new</span> <span class="nc">Circle</span> <span class="o">{</span>
            <span class="n">fill</span> <span class="k">=</span> <span class="n">newColor</span>
            <span class="n">radius</span> <span class="k">=</span> <span class="mi">8</span>
          <span class="o">}</span>
        <span class="k">else</span>
          <span class="kc">null</span>
    <span class="o">}</span>
  <span class="o">}</span>
<span class="o">}</span>
</code></pre></div></div>

<p>You can find a brief description <a href="http://www.scalafx.org/docs/faq_TableView_with_Custom_cell/">here</a>. There are several examples of how to
use <code class="language-plaintext highlighter-rouge">cellFactory</code> use with different controls in <a href="https://github.com/scalafx/scalafx/tree/master/scalafx-demos/src/main/scala/scalafx">scalafx-demos</a>.</p>

<p>Note that if you use the old way of assigning <code class="language-plaintext highlighter-rouge">cellFactory</code> 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.</p>

<h3 id="new-features">New Features</h3>

<ul>
  <li><a href="https://github.com/scalafx/scalafx/issues/256">Issue #256</a> - Change custom cellFactory assignment methods to help in correct implementation that avoids
artifacts</li>
</ul>

<h3 id="bug-fixes">Bug fixes:</h3>

<ul>
  <li><a href="https://github.com/scalafx/scalafx/issues/360">Issue #360</a> - Implicit should convert <code class="language-plaintext highlighter-rouge">jfxa.Application.Parameters</code> to <code class="language-plaintext highlighter-rouge">JFXApp3.Parameters</code></li>
</ul>

<h3 id="updates-to-documentation-and-demos">Updates to documentation and demos:</h3>

<ul>
  <li><a href="https://github.com/scalafx/scalafx/issues/352">Issue #352</a> - Update scaladoc demos to use <code class="language-plaintext highlighter-rouge">JFXApp3</code>. Big thanks to @rom1dep for converting the demos.</li>
  <li><a href="https://github.com/scalafx/scalafx/issues/353">Issue #353</a> - Update scalafx.org documentation to use <code class="language-plaintext highlighter-rouge">JFXApp3</code> instead of deprecated <code class="language-plaintext highlighter-rouge">JFXApp</code>.</li>
</ul>

<p>For downloads visit <a href="http://search.maven.org/#search&#124;ga&#124;1&#124;scalafx">ScalaFX on Sonatype</a> or <a href="https://github.com/scalafx/scalafx/releases">ScalaFX Releases</a> on GitHub. If you have ScalaFX related questions
please use <a href="https://github.com/scalafx/scalafx/discussions">ScalaFX Discussions</a>, or <a href="https://groups.google.com/forum/#!forum/scalafx-users">ScalaFX Users Group</a>, or <a href="https://stackoverflow.com/questions/tagged/scalafx">ScalaFX on StackOverflow</a>. Please report any
problems using <a href="https://github.com/scalafx/scalafx/issues">ScalaFX Issue Tracker</a>.</p>

<!-- Links -->]]></content><author><name>jpsacha</name></author><category term="release" /><summary type="html"><![CDATA[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.]]></summary></entry><entry><title type="html">ScalaFX 14-R19 Released</title><link href="http://scalafx.org/release/2020/05/09/14-R19-released/" rel="alternate" type="text/html" title="ScalaFX 14-R19 Released" /><published>2020-05-09T19:26:02-04:00</published><updated>2020-05-09T19:26:02-04:00</updated><id>http://scalafx.org/release/2020/05/09/14-R19-released</id><content type="html" xml:base="http://scalafx.org/release/2020/05/09/14-R19-released/"><![CDATA[<p><a href="http://scalafx.org">ScalaFX</a> 14-R19 targets support of JavaFX 14. This release was tested to work with Java 11 and Java 14.</p>

<p>New Features:</p>
<ul>
  <li><a href="https://github.com/scalafx/scalafx/pull/317">Issue #317</a>: Support JavaFX 14</li>
  <li><a href="https://github.com/scalafx/scalafx/pull/300">Issue #300</a>: Implement FIXME in scalafx.scene.layout.Border</li>
  <li><a href="https://github.com/scalafx/scalafx/pull/313">Issue #313</a>: Deprecate event handling with <code class="language-plaintext highlighter-rouge">handle{...}</code></li>
</ul>

<p>Bug fixes:</p>
<ul>
  <li><a href="https://github.com/scalafx/scalafx/pull/311">Issue #311</a>: Update Color.scala - correct delegate for <code class="language-plaintext highlighter-rouge">grayRgb</code></li>
</ul>

<p>Internal changes:</p>
<ul>
  <li><a href="https://github.com/scalafx/scalafx/pull/318">Issue #318</a>: Use ScalaTest 3.1 - update for new API</li>
</ul>

<p>For downloads visit <a href="http://search.maven.org/#search&#124;ga&#124;1&#124;scalafx">ScalaFX on Sonatype</a> or <a href="https://github.com/scalafx/scalafx/releases">ScalaFX Releases</a> on GitHub. 
Please report any problems using <a href="https://github.com/scalafx/scalafx/issues">ScalaFX Issue Tracker</a>. 
Please use <a href="https://groups.google.com/forum/#!forum/scalafx-users">ScalaFX Users Group</a> to post questions.</p>]]></content><author><name>jpsacha</name></author><category term="release" /><summary type="html"><![CDATA[ScalaFX 14-R19 targets support of JavaFX 14. This release was tested to work with Java 11 and Java 14.]]></summary></entry></feed>