Java Code Examples for javax.swing.plaf.basic.BasicArrowButton

The following examples show how to use javax.swing.plaf.basic.BasicArrowButton. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: littleluck   Source File: LuckComboBoxUI.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * <pre>
 * 重写下拉按钮,增加焦点颜色
 *
 * Rewrite the drop-down button to increase the focus color
 * </pre>
 *
 * @return arrow button info
 */
protected JButton createArrowButton()
{
    JButton button = new LuckComboBoxButton(BasicArrowButton.SOUTH)
    {
        private static final long serialVersionUID = -7259590635997077859L;

        @Override
        public LuckBorderField getBorderField()
        {
            return LuckComboBoxUI.this;
        }

        @Override
        public JComponent getParentComp()
        {
            return LuckComboBoxUI.this.comboBox;
        }
    };

    button.setName("ComboBox.arrowButton");

    return button;
}
 
Example 2
Source Project: java-swing-tips   Source File: MainPanel.java    License: MIT License 6 votes vote down vote up
private static JButton createArrowButton(int direction) {
  return new BasicArrowButton(direction) {
    @Override public void updateUI() {
      super.updateUI();
      Border buttonBorder = UIManager.getBorder("Spinner.arrowButtonBorder");
      if (buttonBorder instanceof UIResource) {
        // Wrap the border to avoid having the UIResource be replaced by
        // the ButtonUI. This is the opposite of using BorderUIResource.
        setBorder(new CompoundBorder(buttonBorder, null));
      } else {
        setBorder(buttonBorder);
      }
      setInheritsPopupMenu(true);
    }
  };
}
 
Example 3
Source Project: nanoleaf-desktop   Source File: ModernScrollBarUI.java    License: MIT License 5 votes vote down vote up
@Override
protected JButton createIncreaseButton(int orientation)
{
	thumbColor = Color.GRAY;
	thumbLightShadowColor = new Color(0, 0, 0, 0);
	thumbDarkShadowColor = new Color(0, 0, 0, 0);
	thumbHighlightColor = Color.GRAY;
	trackColor = new Color(57, 57, 57);
	trackHighlightColor = Color.GRAY;
	return new BasicArrowButton(BasicArrowButton.SOUTH,
			Color.GRAY, Color.GRAY, new Color(57, 57, 57), Color.LIGHT_GRAY);
}
 
Example 4
Source Project: nanoleaf-desktop   Source File: ModernScrollBarUI.java    License: MIT License 5 votes vote down vote up
@Override
protected JButton createDecreaseButton(int orientation)
{
	thumbColor = Color.GRAY;
	thumbLightShadowColor = new Color(0, 0, 0, 0);
	thumbDarkShadowColor = new Color(0, 0, 0, 0);
	thumbHighlightColor = Color.GRAY;
	trackColor = new Color(57, 57, 57);
	trackHighlightColor = Color.GRAY;
	return new BasicArrowButton(BasicArrowButton.SOUTH,
			Color.GRAY, Color.GRAY, new Color(57, 57, 57), Color.LIGHT_GRAY);
}
 
Example 5
Source Project: sldeditor   Source File: ArrowIcon.java    License: GNU General Public License v3.0 5 votes vote down vote up
/**
 * Instantiates a new arrow icon.
 *
 * @param iconSize the icon size
 * @param direction the direction
 * @param isEnabled the is enabled
 */
public ArrowIcon(int iconSize, int direction, boolean isEnabled) {
    this.size = iconSize / 2;
    this.iconSize = iconSize;
    this.direction = direction;
    this.isEnabled = isEnabled;
    iconRenderer = new BasicArrowButton(direction);
}
 
Example 6
Source Project: ChatGameFontificator   Source File: ArrowIcon.java    License: The Unlicense 5 votes vote down vote up
public ArrowIcon(int iconSize, int direction, boolean isEnabled)
{
    this.size = iconSize / 2;
    this.iconSize = iconSize;
    this.direction = direction;
    this.isEnabled = isEnabled;
    iconRenderer = new BasicArrowButton(direction);
}
 
Example 7
Source Project: java-swing-tips   Source File: MainPanel.java    License: MIT License 5 votes vote down vote up
@Override protected JButton createArrowButton() {
  JButton button = super.createArrowButton();
  if (button instanceof BasicArrowButton) {
    ((BasicArrowButton) button).setDirection(SwingConstants.EAST);
  }
  return button;
}
 
Example 8
Source Project: swing_library   Source File: SidebarSection.java    License: MIT License 5 votes vote down vote up
public void expand() {
		sideBarOwner.setCurrentSection(this);
		
		arrowPanel.changeDirection(BasicArrowButton.SOUTH);
		arrowPanel.updateUI();
		
		calculatedHeight = -1;
		calculatedHeight = sideBarOwner.getSize().height;
		
		System.out.println("sidebarSection.contentPane.getHeight() " + contentPane.getHeight());
		
		if (this.sideBarOwner.animate) {
			SidebarAnimation anim = new SidebarAnimation(this, 200); // ANIMATION BIT
			
			anim.setStartValue(minComponentHeight);
			anim.setEndValue(calculatedHeight);
			anim.start();
		} else {
			if (sideBarOwner.thisMode == SideBarMode.INNER_LEVEL) {
				calculatedHeight = 1000;
				Dimension d = new Dimension(Integer.MAX_VALUE, calculatedHeight);
				setMaximumSize(d);
				sideBarOwner.setPreferredSize(d);
				contentPane.setVisible(true);
				revalidate();
			} else {
				setMaximumSize(new Dimension(Integer.MAX_VALUE, calculatedHeight));
				contentPane.setVisible(true);
				revalidate();
			}
//			printDimensions();
		}
	}
 
Example 9
Source Project: swing_library   Source File: SidebarSection.java    License: MIT License 5 votes vote down vote up
public void collapse(boolean animate) {
		// remove reference
		if (sideBarOwner.getCurrentSection() == SidebarSection.this)
			sideBarOwner.setCurrentSection(null);
		
		arrowPanel.changeDirection(BasicArrowButton.EAST);
		arrowPanel.updateUI();
		
		if (animate && this.sideBarOwner.animate) {
			SidebarAnimation anim = new SidebarAnimation(this, 200); // ANIMATION BIT
			anim.setStartValue(calculatedHeight);
			anim.setEndValue(minComponentHeight);
			anim.start();
		} else {
			if (sideBarOwner.thisMode == SideBarMode.INNER_LEVEL) {
				setMaximumSize(new Dimension(Integer.MAX_VALUE, titlePanel.getPreferredSize().height));
				contentPane.setVisible(false);
				revalidate();
//				printDimensions();
			} else {
				setMaximumSize(new Dimension(Integer.MAX_VALUE, titlePanel.getPreferredSize().height));
				contentPane.setVisible(false);
				revalidate();
//				printDimensions();
			}
		}
	}
 
Example 10
Source Project: consulo   Source File: DarculaSpinnerUI.java    License: Apache License 2.0 5 votes vote down vote up
protected void paintArrowButton(Graphics g, BasicArrowButton button, @MagicConstant(intValues = {SwingConstants.NORTH, SwingConstants.SOUTH}) int direction) {
  Insets i = spinner.getInsets();
  int x = (button.getWidth() - i.right - ARROW_WIDTH.get()) / 2;
  int y = direction == SwingConstants.NORTH ? button.getHeight() - JBUIScale.scale(2) : JBUIScale.scale(2);

  button.paintTriangle(g, x, y, 0, direction, spinner.isEnabled());
}
 
Example 11
Source Project: consulo   Source File: ModernComboBoxUI.java    License: Apache License 2.0 5 votes vote down vote up
@Override
protected JButton createArrowButton() {
  final Color bg = myComboBox.getBackground();
  final Color fg = myComboBox.getForeground();
  JButton button = new BasicArrowButton(SwingConstants.SOUTH, bg, fg, fg, fg) {

    @Override
    public void paint(Graphics g) {
      Color borderColor = ModernUIUtil.getBorderColor(myComboBox);
      GraphicsConfig config = new GraphicsConfig(g);

      final int w = getWidth();
      final int h = getHeight();
      g.setColor(UIUtil.getControlColor());
      g.fillRect(0, 0, w, h - JBUI.scale(2));
      g.setColor(myComboBox.isEnabled() ? getForeground() : borderColor);
      GraphicsUtil.setupAAPainting(g);
      g.drawLine(JBUI.scale(3), JBUI.scale(7), JBUI.scale(7), JBUI.scale(11));
      g.drawLine(JBUI.scale(7), JBUI.scale(11), JBUI.scale(11), JBUI.scale(7));
      config.restore();
    }

    @Override
    public Dimension getPreferredSize() {
      int size = getFont().getSize() + JBUI.scale(4);
      if (size % 2 == 1) size += JBUI.scale(1);
      return new DimensionUIResource(size, size);
    }
  };
  button.setBorder(BorderFactory.createEmptyBorder());
  button.setOpaque(false);
  return button;
}
 
Example 12
Source Project: atdl4j   Source File: SwingSpinnerWidget.java    License: MIT License 5 votes vote down vote up
private void doButtonsLayout(JPanel buttonPanel) {
  buttonPanel.setBorder(BorderFactory.createLoweredBevelBorder());
  GridBagConstraints gc = new GridBagConstraints();
  gc.gridx=0;
  buttonUp = new BasicArrowButtonFixedSize(BasicArrowButton.NORTH);
  buttonDown = new BasicArrowButtonFixedSize(BasicArrowButton.SOUTH);
  buttonPanel.add(buttonUp, gc);
  buttonPanel.add(buttonDown, gc);
}
 
Example 13
Source Project: settlers-remake   Source File: SettlersComboboxUi.java    License: MIT License 4 votes vote down vote up
@Override
protected JButton createArrowButton() {
	JButton button = new ScrollbarUiButton(BasicArrowButton.SOUTH, UIDefaults.ARROW_COLOR);
	button.setName("ComboBox.arrowButton");
	return button;
}
 
Example 14
Source Project: swing_library   Source File: SidebarSection.java    License: MIT License 4 votes vote down vote up
/**
	 * Construct a new sidebar section with the specified owner and model. 
	 * 
	 * @param owner - SideBar
	 * @param model
	 */
	public SidebarSection(SideBar owner, 
			JComponent titleComponent, 
			JComponent component, Icon icon) {
		
		if (owner.thisMode == SideBar.SideBarMode.INNER_LEVEL)
			minComponentHeight = 30;
		else
			minComponentHeight = 40;
		
		
		this.contentPane = component;
		
		sideBarOwner = owner;
		
		titlePanel = new JPanel();
		titlePanel.addMouseListener(new MouseAdapter() {
			public void mouseReleased(MouseEvent e) {
				
				if (SidebarSection.this != sideBarOwner.getCurrentSection()) {
					if (sideBarOwner.getCurrentSection() != null)
						sideBarOwner.getCurrentSection().collapse(true);
					
					expand(); //expand this!
				}
				else {
					collapse(true);
				}
			}
		});

		//absolute layout
//		setLayout(null);
		setLayout(new BorderLayout());
		
		add(titlePanel, BorderLayout.NORTH);

		titlePanel.setLayout(new BorderLayout());
		titlePanel.setPreferredSize(new Dimension(this.getPreferredSize().width, minComponentHeight));
		titlePanel.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
		
		arrowPanel = new ArrowPanel(BasicArrowButton.EAST);
		arrowPanel.setPreferredSize(new Dimension(40, 40));
		
		
		if (sideBarOwner.showArrow)
			//add into tab panel the arrow and labels.
			titlePanel.add(arrowPanel, BorderLayout.EAST);
		
		
		titlePanel.add(new JLabel(icon), BorderLayout.WEST);
		
		titleComponent.setBorder(new CompoundBorder(BorderFactory.createEmptyBorder(2, 8, 2, 2), titleComponent.getBorder()));
		titlePanel.add(titleComponent);

//		this.setMinimumSize(new Dimension(minComponentWidth, minComponentHeight));
//		component.setPreferredSize(new Dimension(0,0));
		
		add(component, BorderLayout.CENTER);
		
		revalidate();
	}
 
Example 15
Source Project: Darcula   Source File: DarculaComboBoxUI.java    License: Apache License 2.0 4 votes vote down vote up
protected JButton createArrowButton() {
  final Color bg = myComboBox.getBackground();
  final Color fg = myComboBox.getForeground();
  JButton button = new BasicArrowButton(SwingConstants.SOUTH, bg, fg, fg, fg) {

    @Override
    public void paint(Graphics g2) {
      final Graphics2D g = (Graphics2D)g2;
      final GraphicsConfig config = new GraphicsConfig(g);

      final int w = getWidth();
      final int h = getHeight();
      if (!isTableCellEditor(myComboBox)) {
        g.setColor(getArrowButtonFillColor(UIUtil.getControlColor()));
        g.fillRect(0, 0, w, h);
      }
      g.setColor(comboBox.isEnabled() ? new DoubleColor(Gray._255, getForeground()) : new DoubleColor(Gray._255, getForeground().darker()));
      g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
      g.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE);
      g.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL));
      final int xU = w / 4;
      final int yU = h / 4;
      final Path2D.Double path = new Path2D.Double();
      g.translate(2, 0);
      path.moveTo(xU + 1, yU + 2);
      path.lineTo(3 * xU + 1, yU + 2);
      path.lineTo(2 * xU + 1, 3 * yU);
      path.lineTo(xU + 1, yU + 2);
      path.closePath();
      g.fill(path);
      g.translate(-2, 0);
      if (!isTableCellEditor(myComboBox)) {
        g.setColor(getArrowButtonFillColor(getBorderColor()));
        g.drawLine(0, -1, 0, h);
      }
      config.restore();
    }

    @Override
    public Dimension getPreferredSize() {
      int size = getFont().getSize() + 4;
      if (size%2==1) size++;
      return new DimensionUIResource(size, size);
    }
  };
  button.setBorder(BorderFactory.createEmptyBorder());
  button.setOpaque(false);
  return button;
}
 
Example 16
Source Project: pdfxtk   Source File: PageSpinner.java    License: Apache License 2.0 4 votes vote down vote up
/**
 * Constructor method for a PageSpinner with default value displayed "0 / 0"
 */
public PageSpinner() {
	
	//Default values of the spinner
	currentPageNo = 0;
	maxPageNo = 0;
	
	display = new JLabel(currentPageNo + " / " + maxPageNo);
	
	previous = new BasicArrowButton(BasicArrowButton.WEST);
	
	next = new BasicArrowButton(BasicArrowButton.EAST);
	
	//Arrange JPanel child components
	add(previous);
	
	add(Box.createRigidArea(new Dimension(7, 0)));
	
	add(display);
	
	add(Box.createRigidArea(new Dimension(7, 0)));
	
	add(next);
}
 
Example 17
Source Project: pdfxtk   Source File: PageSpinner.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Getter method for the left previous arrow button
 * 
 * @return The left previous arrow button
 */
public BasicArrowButton getPreviousButton() {
	
	return previous;
}
 
Example 18
Source Project: pdfxtk   Source File: PageSpinner.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Getter method for the right next arrow button
 * 
 * @return The right next arrow button
 */
public BasicArrowButton getNextButton() {
	
	return next;
}