diff --git a/src/main/java/net/runelite/client/RSStub.java b/src/main/java/net/runelite/client/RSStub.java index 1c7966e31a..efc0287da4 100644 --- a/src/main/java/net/runelite/client/RSStub.java +++ b/src/main/java/net/runelite/client/RSStub.java @@ -59,7 +59,7 @@ public class RSStub implements AppletStub public void appletResize(int width, int height) { Dimension d = new Dimension(width, height); - + app.setSize(d); app.setPreferredSize(d); } diff --git a/src/main/java/net/runelite/client/ui/ClientPanel.java b/src/main/java/net/runelite/client/ui/ClientPanel.java index 5fb9788655..b4f7a429db 100644 --- a/src/main/java/net/runelite/client/ui/ClientPanel.java +++ b/src/main/java/net/runelite/client/ui/ClientPanel.java @@ -3,25 +3,54 @@ package net.runelite.client.ui; import java.applet.Applet; import java.awt.Color; import java.awt.Dimension; +import java.awt.event.ComponentEvent; +import java.awt.event.ComponentListener; import javax.swing.JPanel; import net.runelite.client.ClientLoader; -final class ClientPanel extends JPanel +final class ClientPanel extends JPanel implements ComponentListener { + public static final int PANEL_WIDTH = 765, PANEL_HEIGHT = 503; + + private Applet rs; public ClientPanel() throws Exception { - setSize(new Dimension(ClientUI.PANEL_WIDTH, ClientUI.PANEL_HEIGHT)); - setMinimumSize(new Dimension(ClientUI.PANEL_WIDTH, ClientUI.PANEL_HEIGHT)); - setPreferredSize(new Dimension(ClientUI.PANEL_WIDTH, ClientUI.PANEL_HEIGHT)); + setSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT)); + setMinimumSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT)); + setPreferredSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT)); setBackground(Color.black); + this.addComponentListener(this); ClientLoader loader = new ClientLoader(); - Applet rs = loader.load(); + rs = loader.load(); rs.setSize(this.getSize()); rs.init(); rs.start(); this.add(rs); } + + @Override + public void componentResized(ComponentEvent e) + { + rs.setSize(this.getSize()); + this.setPreferredSize(this.getSize()); + rs.setPreferredSize(this.getPreferredSize()); + } + + @Override + public void componentMoved(ComponentEvent e) + { + } + + @Override + public void componentShown(ComponentEvent e) + { + } + + @Override + public void componentHidden(ComponentEvent e) + { + } } \ No newline at end of file diff --git a/src/main/java/net/runelite/client/ui/ClientUI.java b/src/main/java/net/runelite/client/ui/ClientUI.java index 4320f05825..174d15bc4b 100644 --- a/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/src/main/java/net/runelite/client/ui/ClientUI.java @@ -1,19 +1,19 @@ package net.runelite.client.ui; +import java.awt.event.ComponentEvent; +import java.awt.event.ComponentListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.logging.Logger; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPopupMenu; -import javax.swing.JScrollPane; +import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; -public final class ClientUI extends JFrame -{ - public static final int PANEL_WIDTH = 765, PANEL_HEIGHT = 503, LOG_HEIGHT = 120; - +public final class ClientUI extends JFrame implements ComponentListener +{ private static final Logger log = Logger.getLogger(ClientUI.class.getName()); private ClientPanel panel; @@ -26,6 +26,7 @@ public final class ClientUI extends JFrame setLocationRelativeTo(getOwner()); setMinimumSize(getSize()); setResizable(true); + this.addComponentListener(this); } private void init() throws Exception { @@ -62,4 +63,25 @@ public final class ClientUI extends JFrame System.exit(0); } } + + @Override + public void componentResized(ComponentEvent e) + { + SwingUtilities.invokeLater(() -> pack()); // is this right? + } + + @Override + public void componentMoved(ComponentEvent e) + { + } + + @Override + public void componentShown(ComponentEvent e) + { + } + + @Override + public void componentHidden(ComponentEvent e) + { + } } \ No newline at end of file