A FreeColPanel can now explicitly set the border to be used on the JInternalFrame.

This commit is contained in:
Stian Grenborgen 2024-01-01 20:04:59 +01:00
parent 2567d30062
commit d665a4276f
2 changed files with 13 additions and 1 deletions

View File

@ -432,7 +432,10 @@ public final class Canvas extends JDesktopPane {
c.setBorder(null);
}
if (comp.getBorder() != null) {
if (comp instanceof FreeColPanel
&& ((FreeColPanel) comp).getFrameBorder() != null) {
f.setBorder(((FreeColPanel) comp).getFrameBorder());
} else if (comp.getBorder() != null) {
if (comp.getBorder() instanceof EmptyBorder) {
f.setBorder(Utility.blankBorder(10, 10, 10, 10));
} else {

View File

@ -37,6 +37,7 @@ import javax.swing.InputMap;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.KeyStroke;
import javax.swing.border.Border;
import net.sf.freecol.client.ClientOptions;
import net.sf.freecol.client.FreeColClient;
@ -269,6 +270,14 @@ public abstract class FreeColPanel extends MigPanel implements ActionListener {
return getImageLibrary().getSmallUnitTypeImage(au.getType(spec),
au.getRoleId(), false);
}
/**
* A border to be used around the frame containing this panel.
* @return The border, if any, or {@code null}.
*/
public Border getFrameBorder() {
return null;
}
// Interface ActionListener