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));