RFR: 8267392: ENTER key press on editable TableView throws NPE

Kevin Rushforth kcr at openjdk.java.net
Wed May 19 14:04:54 UTC 2021


On Wed, 19 May 2021 00:48:18 GMT, Marius Hanl <github.com+66004280+Maran23 at openjdk.org> wrote:

> **Note: I reported the bug already, waiting for approval. Internal tracking id: 9070318. I will update the title as soon as the ticket is created.**
> 
> This PR is fixing a NP, which is thrown when you press ENTER on an editbale table, after it is initially shown.
> 
> When pressing ENTER, **TableViewBehaviorBase#activate** is retrieving the current focused row (**getFocusedCell()**) and from there the corresponding table column.
> This is null, when a table is initially shown. It can also be null, when the items from the underlying table are changed (e.g. **setItems()**) or when **getFocusModel().focus(row)** is used. 
> Therefore, null is a valid value and we should guard against it.

The fix looks simple and safe enough. I'll let @aghaisas and @kleopatra review it. I left one naming comment, which also applies to the PR title (I already updated the JBS bug title).

The bug has been transferred to JDK project: https://bugs.openjdk.java.net/browse/JDK-8267392

modules/javafx.controls/src/test/java/test/javafx/scene/control/TableViewKeyInputTest.java line 196:

> 194: 
> 195:     @Test
> 196:     public void testEnterOnFocusedRowDoesNotThrowNP() {

The usual abbreviation for NullPointerException is `NPE` rather than `NP`, so I recommend updating the test method names and comments accordingly.

-------------

PR: https://git.openjdk.java.net/jfx/pull/505


More information about the openjfx-dev mailing list