All Downloads are FREE. Search and download functionalities are using the official Maven repository.

swingtree.UIForSwing Maven / Gradle / Ivy

package swingtree;

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

/**
 *  A SwingTree builder node designed for configuring {@link JComponent} types.
 */
public class UIForSwing extends UIForAnySwing, C>
{
    private final BuilderState _state;

    /**
     * {@link UIForAnySwing} (sub)types always wrap
     * a single component for which they are responsible.
     *
     * @param state The {@link BuilderState} modelling how the component is built.
     */
    protected UIForSwing( BuilderState state ) {
        Objects.requireNonNull(state);
        _state = state;
    }


    @Override
    protected BuilderState _state() {
        return _state;
    }
    
    @Override
    protected UIForSwing _newBuilderWithState(BuilderState newState ) {
        return new UIForSwing<>(newState);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy