Class BasicCommandButtonPanelUI

    • Field Detail

      • SKIP_BACKGROUND_FILL

        public static final java.lang.String SKIP_BACKGROUND_FILL
        Client property to mark the command button panel to not draw the background fill
        See Also:
        Constant Field Values
      • groupTitles

        private java.util.List<java.lang.String> groupTitles
        List of titles for all button groups.
      • buttons

        private java.util.List<java.util.List<JCommandButton>> buttons
        List of all button groups.
      • groupLabels

        protected javax.swing.JLabel[] groupLabels
        Labels of the button panel groups.
      • groupRects

        private java.awt.Rectangle[] groupRects
        Bounds of button panel groups.
      • contentModelChangeListener

        private javax.swing.event.ChangeListener contentModelChangeListener
      • presentationModelChangeListener

        private javax.swing.event.ChangeListener presentationModelChangeListener
    • Constructor Detail

      • BasicCommandButtonPanelUI

        public BasicCommandButtonPanelUI()
    • Method Detail

      • installUI

        public void installUI​(javax.swing.JComponent c)
        Overrides:
        installUI in class javax.swing.plaf.ComponentUI
      • installDefaults

        protected void installDefaults()
        Installs defaults on the associated button panel.
      • installComponents

        protected void installComponents()
        Installs sub-components on the associated button panel.
      • installListeners

        protected void installListeners()
        Installs listeners on the associated button panel.
      • uninstallUI

        public void uninstallUI​(javax.swing.JComponent c)
        Overrides:
        uninstallUI in class javax.swing.plaf.ComponentUI
      • uninstallDefaults

        protected void uninstallDefaults()
        Uninstalls defaults from the associated button panel.
      • uninstallComponents

        protected void uninstallComponents()
        Uninstalls sub-components from the associated button panel.
      • uninstallListeners

        protected void uninstallListeners()
        Uninstalls listeners from the associated button panel.
      • updateLayoutManager

        private void updateLayoutManager()
        Updates the layout manager for the associated button panel.
      • paint

        public void paint​(java.awt.Graphics g,
                          javax.swing.JComponent c)
        Overrides:
        paint in class javax.swing.plaf.ComponentUI
      • paintGroupBackground

        protected abstract void paintGroupBackground​(java.awt.Graphics g,
                                                     int groupIndex,
                                                     int x,
                                                     int y,
                                                     int width,
                                                     int height)
        Paints the background of the specified button panel group.
        Parameters:
        g - Graphics context.
        groupIndex - Group index.
        x - X coordinate of the button group bounds.
        y - Y coordinate of the button group bounds.
        width - Width of the button group bounds.
        height - Height of the button group bounds.
      • paintGroupTitleBackground

        protected abstract void paintGroupTitleBackground​(java.awt.Graphics g,
                                                          int groupIndex,
                                                          int x,
                                                          int y,
                                                          int width,
                                                          int height)
        Paints the background of the title of specified button panel group.
        Parameters:
        g - Graphics context.
        groupIndex - Group index.
        x - X coordinate of the button group title bounds.
        y - Y coordinate of the button group title bounds.
        width - Width of the button group title bounds.
        height - Height of the button group title bounds.
      • getGroupTitleHeight

        protected abstract int getGroupTitleHeight​(int groupIndex)
        Returns the height of the group title strip.
        Parameters:
        groupIndex - Group index.
        Returns:
        The height of the title strip of the specified group.
      • syncContent

        private void syncContent()
      • addButtonToLastGroup

        private void addButtonToLastGroup​(Command command,
                                          JCommandButton commandButton)
      • addButtonToGroup

        private void addButtonToGroup​(java.lang.String buttonGroupName,
                                      int indexInGroup,
                                      Command command,
                                      JCommandButton commandButton)
      • getPreferredHeight

        public int getPreferredHeight​(int buttonVisibleRows,
                                      int titleVisibleRows)
        Returns the preferred size of the associated button panel for the specified parameters.
        Parameters:
        buttonVisibleRows - Target number of visible button rows.
        titleVisibleRows - Target number of visible group title rows.
        Returns:
        The preferred size of the associated button panel for the specified parameters.
      • findFirstFocusableRight

        private JCommandButton findFirstFocusableRight​(int row,
                                                       int column)
      • findLastFocusableLeft

        private JCommandButton findLastFocusableLeft​(int row,
                                                     int column)
      • findLastFocusableUp

        private JCommandButton findLastFocusableUp​(int row,
                                                   int column)
      • findFirstFocusableDown

        private JCommandButton findFirstFocusableDown​(int row,
                                                      int column)