On Thu, 19 Sep 2024 15:10:55 GMT, Alexander Zvegintsev <[email protected]> wrote:
> As another improvement, we can also consider calculating the default number > of columns (based on the widest string?) in a separate issue. Yes! I added a comment in JBS: > This is part of a larger effort for providing better defaults for sizing the > instructions which is tracked by > [JDK-8328163](https://bugs.openjdk.org/browse/JDK-8328163): *Implement > automatic instruction sizing for `PassFailJFrame`*. I quickly prototyped it in my [8328163-autoSize-passFail](https://github.com/aivanov-jdk/jdk/tree/8328163-autoSize-passFail) branch ([diff to master](https://github.com/openjdk/jdk/compare/master...aivanov-jdk:jdk:8328163-autoSize-passFail)) in March 2024, yet it proved to be not as simple. I guess if we disable word-wrapping on `JTextArea`, it becomes simpler; yet some tests already depend on word-wrapping. I or anyone else have to come up with a clever heuristics which works good in most cases. I thought about using something like this: disable word-wrapping and get text dimensions; if the width is too large (how large?), then enable word-wrapping and reduce the width of the text area, recalculate the preferred size again. If the height is too large (how large?), limit it to a value, the instructions are already in `JScrollPane`, yet it's best to avoid scroll bars — seeing all the instruction text is always better compared to having to scroll. ------------- PR Comment: https://git.openjdk.org/jdk/pull/21039#issuecomment-2361637062
