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

Add possible solutions to fix text overrun #37

Closed
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions tutorials/javaFxPart4.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,28 @@ We will get to that later.

![Settings for DialogBox](images/javafx/DialogBoxController.png)

<box type="info" seamless>

Using the FXML files above, text overrun may occur when the text to be displayed exceeds the size of the label, causing the text to not be fully displayed and ending with `...` instead.

To fix this issue, we can implement one of the suggested changes below to the FXML files:

<b>1. Changing MainWindow.fxml</b>

Remove `prefHeight` for `VBox`:
```xml
<VBox fx:id="dialogContainer" prefWidth="388.0" />
```
Comment on lines +118 to +123

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe an explanation like:

This modification removes the preferred height setting for the VBox container. By not specifying a prefHeight, the VBox is allowed to expand vertically as needed based on its contents. This helps accommodate labels that might need more vertical space due to wrapped text, preventing the text from being cut off and ending with ....

Would be appropriate so that students know the impacts of the changes they are making.


<b>2. Changing DialogBox.fxml</b>

Set `minHeight` for `Label`:
```xml
<Label fx:id="dialog" text="Label" wrapText="true" minHeight="-Infinity"/>
```
Comment on lines +125 to +130

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this change, an explanation along the lines of:

This setting allows the label to have no minimum height constraint, meaning it can shrink or expand vertically as much as needed. This flexibility ensures that if the text wrapped within the label requires more height due to wrapping, the label can expand to fit this text without truncating it. This change is particularly useful in ensuring that all content of the label is visible, regardless of the amount of text.

Would be fitting.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the suggestion, this issue has been resolved in PR #44


</box>

## Using Controllers

As part of the effort to separate the code handling Duke's logic and UI, let's _refactor_ the UI-related code to its own class.
Expand Down