Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Controlsfx filter to table method error #1047

Open
JonathanGiles opened this issue Apr 15, 2018 · 3 comments
Open

Adding Controlsfx filter to table method error #1047

JonathanGiles opened this issue Apr 15, 2018 · 3 comments
Labels
9.0.0 bug Something isn't working TableFilter =
Milestone

Comments

@JonathanGiles
Copy link
Collaborator

Original report by zeljkosh (Bitbucket: zeljkosh, GitHub: zeljkosh).


#!java

java.lang.NoSuchMethodException: javafx.scene.control.skin.TableViewSkin.getTableHeaderRow()

that is the error, and i found this thread on stackoverflow, so i looked, and did not found this issues posted.

https://stackoverflow.com/questions/48543027/adding-controlfx-tablefilter-to-tableview-nosuchmethodexception-error

Let me know if you need full stack trace or anything else.

@JonathanGiles JonathanGiles added major bug Something isn't working 9.0.0 labels Dec 29, 2018
@JonathanGiles JonathanGiles added this to the Final Release milestone Dec 29, 2018
@awwsmm
Copy link

awwsmm commented Jan 5, 2019

It's line 171 of impl.org.controlsfx.ReflectionUtils that's the problem. On that line, a method with the signature

public static Optional<TableHeaderRow> getTableHeaderRowFrom(TableViewSkinBase<?, ?, ?, ?, ?> skin) {

is declared, and later (line 173), that method tries to reflectively access a method which doesn't exist:

Method method = skin.getClass().getDeclaredMethod("getTableHeaderRow");

getTableHeaderRow() doesn't exist anywhere in the JavaFX API, which makes me think the author meant to call TableHeaderRow.createTableHeaderRow(). This is the only method in JavaFX which returns a TableHeaderRow.

@awwsmm
Copy link

awwsmm commented Jan 5, 2019

Note that this Exception currently can't even be hidden by the user of ControlsFX, because the code catches it and prints a stack trace (lines 176 & 177):

} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
    e.printStackTrace();

@thomasnield
Copy link
Contributor

I'm a bit swamped guys, I give anybody permission to try to fix this however they feel is appropriate. If it's not fixed when I get some free time, I'll try to resolve it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
9.0.0 bug Something isn't working TableFilter =
Projects
None yet
Development

No branches or pull requests

5 participants