mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-13 15:27:16 -06:00
Window decorations: use default icon if no icon set on window
This commit is contained in:
@@ -47,6 +47,8 @@ import java.util.Objects;
|
|||||||
import javax.accessibility.AccessibleContext;
|
import javax.accessibility.AccessibleContext;
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.BoxLayout;
|
import javax.swing.BoxLayout;
|
||||||
|
import javax.swing.Icon;
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
@@ -60,6 +62,7 @@ import javax.swing.border.Border;
|
|||||||
import com.formdev.flatlaf.FlatClientProperties;
|
import com.formdev.flatlaf.FlatClientProperties;
|
||||||
import com.formdev.flatlaf.FlatSystemProperties;
|
import com.formdev.flatlaf.FlatSystemProperties;
|
||||||
import com.formdev.flatlaf.ui.JBRCustomDecorations.JBRWindowTopBorder;
|
import com.formdev.flatlaf.ui.JBRCustomDecorations.JBRWindowTopBorder;
|
||||||
|
import com.formdev.flatlaf.util.ScaledImageIcon;
|
||||||
import com.formdev.flatlaf.util.SystemInfo;
|
import com.formdev.flatlaf.util.SystemInfo;
|
||||||
import com.formdev.flatlaf.util.UIScale;
|
import com.formdev.flatlaf.util.UIScale;
|
||||||
|
|
||||||
@@ -255,12 +258,24 @@ class FlatTitlePane
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// show/hide icon
|
boolean hasIcon = true;
|
||||||
boolean hasImages = !images.isEmpty();
|
|
||||||
iconLabel.setVisible( hasImages );
|
|
||||||
|
|
||||||
if( hasImages )
|
// set icon
|
||||||
|
if( !images.isEmpty() )
|
||||||
iconLabel.setIcon( FlatTitlePaneIcon.create( images, iconSize ) );
|
iconLabel.setIcon( FlatTitlePaneIcon.create( images, iconSize ) );
|
||||||
|
else {
|
||||||
|
// no icon set on window --> use default icon
|
||||||
|
Icon defaultIcon = UIManager.getIcon( "InternalFrame.icon" );
|
||||||
|
if( defaultIcon != null ) {
|
||||||
|
if( defaultIcon instanceof ImageIcon )
|
||||||
|
defaultIcon = new ScaledImageIcon( (ImageIcon) defaultIcon, iconSize.width, iconSize.height );
|
||||||
|
iconLabel.setIcon( defaultIcon );
|
||||||
|
} else
|
||||||
|
hasIcon = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// show/hide icon
|
||||||
|
iconLabel.setVisible( hasIcon );
|
||||||
|
|
||||||
updateJBRHitTestSpotsAndTitleBarHeightLater();
|
updateJBRHitTestSpotsAndTitleBarHeightLater();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user