public JBOptionButton(Action action, Action[] options) { super(action); myOptions = options; myMoreRec = new Rectangle( 0, 0, AllIcons.General.ArrowDown.getIconWidth(), AllIcons.General.ArrowDown.getIconHeight()); myUnderPopup = fillMenu(true); myAbovePopup = fillMenu(false); enableEvents(AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK); }
@Override protected void paintChildren(Graphics g) { super.paintChildren(g); boolean dark = UIUtil.isUnderDarcula(); int off = dark ? 6 : 0; AllIcons.General.ArrowDown.paintIcon(this, g, myMoreRec.x - off, myMoreRec.y); if (dark) return; final Insets insets = getInsets(); int y1 = myMoreRec.y - 2; int y2 = getHeight() - insets.bottom - 2; if (y1 < getInsets().top) { y1 = insets.top; } final int x = myMoreRec.x - 4; UIUtil.drawDottedLine(((Graphics2D) g), x, y1, x, y2, null, Color.darkGray); }