From 71b72373d6515966ca092de428c9d3ac1f35f4e0 Mon Sep 17 00:00:00 2001 From: Borewit Date: Sun, 5 Feb 2023 01:51:50 +0100 Subject: [PATCH] Ensure `Graphics2D` is disposed. Change rollover color cross to blue. --- .../listfix/swing/JButtonTabComponent.java | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main/java/listfix/swing/JButtonTabComponent.java b/src/main/java/listfix/swing/JButtonTabComponent.java index 84eddf98..c3624b1b 100644 --- a/src/main/java/listfix/swing/JButtonTabComponent.java +++ b/src/main/java/listfix/swing/JButtonTabComponent.java @@ -91,21 +91,28 @@ protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g.create(); - //shift the image for pressed buttons - if (getModel().isPressed()) + try { - g2.translate(1, 1); + //shift the image for pressed buttons + if (getModel().isPressed()) + { + g2.translate(1, 1); + } + g2.setStroke(new BasicStroke(2)); + g2.setColor(Color.BLACK); + if (getModel().isRollover()) + { + g2.setColor(Color.BLUE); + } + int delta = 6; + g2.drawLine(delta, delta, getWidth() - delta - 1, getHeight() - delta - 1); + g2.drawLine(getWidth() - delta - 1, delta, delta, getHeight() - delta - 1); + g2.dispose(); } - g2.setStroke(new BasicStroke(2)); - g2.setColor(Color.BLACK); - if (getModel().isRollover()) + finally { - g2.setColor(Color.MAGENTA); + g2.dispose(); } - int delta = 6; - g2.drawLine(delta, delta, getWidth() - delta - 1, getHeight() - delta - 1); - g2.drawLine(getWidth() - delta - 1, delta, delta, getHeight() - delta - 1); - g2.dispose(); } }