From 46bbc9b82ef100a3072f771b7788c767c70a3ae7 Mon Sep 17 00:00:00 2001 From: comp500 Date: Sat, 10 Aug 2019 19:52:19 +0100 Subject: [PATCH] Enable text wrapping on the option description --- .../infra/packwiz/installer/ui/InstallWindow.java | 8 +++++--- .../packwiz/installer/ui/OptionsSelectWindow.java | 11 ++++++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/link/infra/packwiz/installer/ui/InstallWindow.java b/src/main/java/link/infra/packwiz/installer/ui/InstallWindow.java index 6e37751..8d5662d 100644 --- a/src/main/java/link/infra/packwiz/installer/ui/InstallWindow.java +++ b/src/main/java/link/infra/packwiz/installer/ui/InstallWindow.java @@ -165,9 +165,11 @@ public class InstallWindow implements IUserInterface { @Override public Future showOptions(List opts) { CompletableFuture future = new CompletableFuture<>(); - OptionsSelectWindow dialog = new OptionsSelectWindow(opts, future); - dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); - dialog.setVisible(true); + EventQueue.invokeLater(() -> { + OptionsSelectWindow dialog = new OptionsSelectWindow(opts, future); + dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + dialog.setVisible(true); + }); return future; } diff --git a/src/main/java/link/infra/packwiz/installer/ui/OptionsSelectWindow.java b/src/main/java/link/infra/packwiz/installer/ui/OptionsSelectWindow.java index dc5732d..3db2536 100644 --- a/src/main/java/link/infra/packwiz/installer/ui/OptionsSelectWindow.java +++ b/src/main/java/link/infra/packwiz/installer/ui/OptionsSelectWindow.java @@ -18,7 +18,7 @@ import java.util.concurrent.CompletableFuture; public class OptionsSelectWindow extends JDialog implements ActionListener { private static final long serialVersionUID = 1L; - private final JLabel lblOptionDescription; + private final JTextArea lblOptionDescription; private final OptionTableModel tableModel; private final CompletableFuture future; @@ -71,10 +71,15 @@ public class OptionsSelectWindow extends JDialog implements ActionListener { splitPane.setLeftComponent(scrollPane); } { - lblOptionDescription = new JLabel("Select an option..."); + lblOptionDescription = new JTextArea("Select an option..."); lblOptionDescription.setBackground(UIManager.getColor("List.background")); lblOptionDescription.setOpaque(true); - lblOptionDescription.setVerticalAlignment(SwingConstants.TOP); + lblOptionDescription.setWrapStyleWord(true); + lblOptionDescription.setLineWrap(true); + lblOptionDescription.setOpaque(true); + lblOptionDescription.setEditable(false); + lblOptionDescription.setFocusable(false); + lblOptionDescription.setFont(UIManager.getFont("Label.font")); lblOptionDescription.setBorder(new EmptyBorder(10, 10, 10, 10)); JScrollPane scrollPane = new JScrollPane(lblOptionDescription); scrollPane.setBorder(new EmptyBorder(0, 0, 0, 0));