X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fbackend%2FSwingComponent.java;h=92fd1d897afdb1679fd40f6a15394c09d93fdcce;hb=a69ed767c9c07cf35cf1c5f7821fc009cfe79cd2;hp=4b0b2b4d079bc2f8b9d43bbc7ad10ab268852438;hpb=d6ee0801333ff93dffd851f4c1a44519c96c371d;p=nikiroo-utils.git diff --git a/src/jexer/backend/SwingComponent.java b/src/jexer/backend/SwingComponent.java index 4b0b2b4..92fd1d8 100644 --- a/src/jexer/backend/SwingComponent.java +++ b/src/jexer/backend/SwingComponent.java @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (C) 2017 Kevin Lamonte + * Copyright (C) 2019 Kevin Lamonte * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -71,6 +71,17 @@ class SwingComponent { */ private JComponent component; + /** + * An optional border in pixels to add. + */ + private static final int BORDER = 1; + + /** + * Adjustable Insets for this component. This has the effect of adding a + * black border around the drawing area. + */ + Insets adjustInsets = new Insets(BORDER + 5, BORDER, BORDER, BORDER); + // ------------------------------------------------------------------------ // Constructors ----------------------------------------------------------- // ------------------------------------------------------------------------ @@ -237,11 +248,17 @@ class SwingComponent { * @return the value of the insets property */ public Insets getInsets() { + Insets swingInsets = null; if (frame != null) { - return frame.getInsets(); + swingInsets = frame.getInsets(); } else { - return component.getInsets(); + swingInsets = component.getInsets(); } + Insets result = new Insets(swingInsets.top + adjustInsets.top, + swingInsets.left + adjustInsets.left, + swingInsets.bottom + adjustInsets.bottom, + swingInsets.right + adjustInsets.right); + return result; } /** @@ -348,12 +365,12 @@ class SwingComponent { public void setDimensions(final int width, final int height) { // Figure out the thickness of borders and use that to set the final // size. - Insets insets = getInsets(); - if (frame != null) { + Insets insets = getInsets(); frame.setSize(width + insets.left + insets.right, height + insets.top + insets.bottom); } else { + Insets insets = getInsets(); component.setSize(width + insets.left + insets.right, height + insets.top + insets.bottom); }