Example usage for javax.swing.plaf.basic BasicArrowButton setFont

List of usage examples for javax.swing.plaf.basic BasicArrowButton setFont

Introduction

In this page you can find the example usage for javax.swing.plaf.basic BasicArrowButton setFont.

Prototype

@BeanProperty(preferred = true, visualUpdate = true, description = "The font for the component.")
public void setFont(Font font) 

Source Link

Document

Sets the font for this component.

Usage

From source file:de.tor.tribes.ui.components.TimePicker.java

public void addMinuteLabels(boolean pEachMinute) {
    jPanelMinute.removeAll();// ww  w. j  a va 2 s. c o  m
    minutesExpanded = pEachMinute;
    int every, elemsPerRow;
    if (pEachMinute) {
        //12 elems per row, 5 rows
        every = 1;
        elemsPerRow = 12;
    } else {
        //6 elems per row, 2 rows
        every = 5;
        elemsPerRow = 6;
    }
    int rowHeight = 20;
    jPanelMinute.setPreferredSize(
            new Dimension(240, rowHeight * minuteLabels.length / (elemsPerRow * every) + rowHeight));
    jPanelMinute.setMinimumSize(jPanelMinute.getPreferredSize());
    jPanelMinute.setMaximumSize(jPanelMinute.getPreferredSize());

    for (int i = 0; i < minuteLabels.length / every; i++) {
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridx = i % elemsPerRow;
        gbc.gridy = i / elemsPerRow;
        gbc.fill = GridBagConstraints.BOTH;
        gbc.weightx = 1;
        gbc.weighty = 1;

        minuteLabels[i * every].uncross();
        jPanelMinute.add(minuteLabels[i * every], gbc);
    }
    selectedMinute = minuteLabels[pMinute];
    selectedMinute.cross();
    BasicArrowButton expandButton = null;

    if (pEachMinute) {
        expandButton = new BasicArrowButton(BasicArrowButton.WEST);
    } else {
        expandButton = new BasicArrowButton(BasicArrowButton.EAST);
    }
    expandButton.setFont(smallFont);
    expandButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
    expandButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            addMinuteLabels(!minutesExpanded);
        }
    });
    GridBagConstraints gbc = new GridBagConstraints();
    gbc.gridx = elemsPerRow - 1;
    gbc.gridy = minuteLabels.length / (every * elemsPerRow);
    gbc.fill = GridBagConstraints.BOTH;
    gbc.weightx = 1;
    gbc.weighty = 1;
    jPanelMinute.add(expandButton, gbc);

    SwingUtilities.invokeLater(new Runnable() {

        @Override
        public void run() {
            jPanelMinute.updateUI();
        }
    });
    updateSize();
}