ToolBar: disable focusability of buttons in toolbar

This commit is contained in:
Karl Tauber
2019-10-15 19:00:33 +02:00
parent dfc3b7c796
commit fa4e409555
3 changed files with 27 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ FlatLaf Change Log
## Unreleased
- ComboBox: Use small border if used as table editor.
- ToolBar: Disable focusability of buttons in toolbar.
## 0.13

View File

@@ -19,6 +19,8 @@ package com.formdev.flatlaf.ui;
import static com.formdev.flatlaf.util.UIScale.scale;
import java.awt.Component;
import java.awt.Insets;
import java.awt.event.ContainerEvent;
import java.awt.event.ContainerListener;
import javax.swing.AbstractButton;
import javax.swing.JComponent;
import javax.swing.UIManager;
@@ -53,6 +55,29 @@ public class FlatToolBarUI
rolloverBorder = null;
}
@Override
protected ContainerListener createToolBarContListener() {
return new ToolBarContListener() {
@Override
public void componentAdded( ContainerEvent e ) {
super.componentAdded( e );
Component c = e.getChild();
if( c instanceof AbstractButton )
c.setFocusable( false );
}
@Override
public void componentRemoved( ContainerEvent e ) {
super.componentRemoved( e );
Component c = e.getChild();
if( c instanceof AbstractButton )
c.setFocusable( true );
}
};
}
@Override
protected Border createRolloverBorder() {
return getRolloverBorder();

View File

@@ -236,6 +236,7 @@ public class FlatInspector
}
}
text += "Focusable: " + c.isFocusable() + '\n';
text += "Parent: " + c.getParent().getClass().getName();
return text;