UIForRadioButtonMenuItem.java

  1. package swingtree;

  2. import javax.swing.*;
  3. import java.util.Objects;

  4. /**
  5.  *  A SwingTree builder node designed for configuring {@link JRadioButtonMenuItem} instances.
  6.  *  <p>
  7.  *  This class is a {@link UIForAnyMenuItem} subtype, and as such, it inherits all of the
  8.  *  builder methods from that class.
  9.  */
  10. public final class UIForRadioButtonMenuItem<M extends JRadioButtonMenuItem>
  11. extends UIForAnyMenuItem<UIForRadioButtonMenuItem<M>, M>
  12. {
  13.     private final BuilderState<M> _state;

  14.     UIForRadioButtonMenuItem( BuilderState<M> state ) {
  15.         Objects.requireNonNull(state);
  16.         _state = state;
  17.     }

  18.     @Override
  19.     protected BuilderState<M> _state() {
  20.         return _state;
  21.     }
  22.    
  23.     @Override
  24.     protected UIForRadioButtonMenuItem<M> _newBuilderWithState(BuilderState<M> newState ) {
  25.         return new UIForRadioButtonMenuItem<>(newState);
  26.     }
  27. }