From a8f364c005d53d7a9f9db83330d8d088b9d1c729 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Fri, 26 Jan 2018 09:33:55 +0100 Subject: [PATCH] Fix the frame is displayable exception Fix java.awt.IllegalComponentStateException: The frame is displayable that is caused by window being packed before showWithChrome method is called. Signed-off-by: Tomas Slusny --- .../src/main/java/net/runelite/client/ui/ClientUI.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java index 646b2f0ae6..c2b888a762 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java @@ -154,13 +154,16 @@ public class ClientUI extends JFrame public void showWithChrome(boolean customChrome) { setUndecorated(customChrome); + if (customChrome) { getRootPane().setWindowDecorationStyle(JRootPane.FRAME); } + pack(); revalidateMinimumSize(); setLocationRelativeTo(getOwner()); + if (customChrome) { try @@ -295,7 +298,10 @@ public class ClientUI extends JFrame client.getParent().setPreferredSize(size); client.getParent().setSize(size); - pack(); + if (isVisible()) + { + pack(); + } } private static void setUIFont(FontUIResource f)