Levy.Xie-解安森
12 months ago
9 changed files with 113 additions and 109 deletions
@ -0,0 +1,41 @@ |
|||||||
|
package com.fine.theme.light.ui; |
||||||
|
|
||||||
|
import com.formdev.flatlaf.ui.FlatComboBoxUI; |
||||||
|
|
||||||
|
import javax.swing.JComponent; |
||||||
|
import javax.swing.JButton; |
||||||
|
import javax.swing.SwingConstants; |
||||||
|
import javax.swing.plaf.ComponentUI; |
||||||
|
import java.awt.Graphics2D; |
||||||
|
|
||||||
|
/** |
||||||
|
* 提供 {@link javax.swing.JComboBox} 的UI类 |
||||||
|
* |
||||||
|
* @author Levy.Xie |
||||||
|
* @since 11.0 |
||||||
|
* Created on 2023/12/07 |
||||||
|
*/ |
||||||
|
public class FineComboBoxUI extends FlatComboBoxUI { |
||||||
|
|
||||||
|
public static ComponentUI createUI(JComponent c) { |
||||||
|
return new FineComboBoxUI(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected JButton createArrowButton() { |
||||||
|
return new FineComboBoxButton(); |
||||||
|
} |
||||||
|
|
||||||
|
protected class FineComboBoxButton extends FlatComboBoxButton { |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void paintArrow(Graphics2D g) { |
||||||
|
if (isPopupVisible(comboBox)) { |
||||||
|
setDirection(SwingConstants.NORTH); |
||||||
|
} else { |
||||||
|
setDirection(SwingConstants.SOUTH); |
||||||
|
} |
||||||
|
super.paintArrow(g); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,13 @@ |
|||||||
|
package com.fr.design.event; |
||||||
|
|
||||||
|
/** |
||||||
|
* 组件判断是否被hover的能力接口 |
||||||
|
* |
||||||
|
* @author Levy.Xie |
||||||
|
* @since 11.0 |
||||||
|
* Created on 2023/12/07 |
||||||
|
*/ |
||||||
|
public interface HoverAware { |
||||||
|
|
||||||
|
boolean isHovered(); |
||||||
|
} |
After Width: | Height: | Size: 482 B |
After Width: | Height: | Size: 483 B |
Loading…
Reference in new issue