Crie um componente Swing com base em outro, mas com API diferente

Gostaria de criar um novo Swing JComponent com base em um já existente, mas com uma API diferente. Em outras palavras, não quero estender o componente existente, porque não quero que sua API seja acessível.

Aqui está um exemplo para esclarecer minhas necessidades:

Uma substituição doJCheckBox que mostra dois botões ON / OFF. Isso pode ser baseado em umapré-configurado JCommandButtonStrip (algumas informaçõesaqui), mas expondo exatamente a mesma API deJCheckBox. A configuração doJCommandButtonStrip não deve ser alterado.

Qual é a melhor abordagem para esse problema?

Esclarecimentos:

Como alguém apontou, o que escrevi sobre API não está claro.

ClaroJComponent tenha vários campos e métodos públicos que estarão disponíveis para cada subclasse. Então cada subclasse deJComponent pode adicionar seus próprios campos e métodos públicos. Por exemplo,AbstractButton adiciona oisSelected() método, enquantoJCommandButtonStrip adiciona ogetButtonCount() método.

Então, o que eu quis dizer é: eu quero criar um novoJComponent subclasseMyJComponent, que é baseado em um existenteExistingJComponent. Eu não quero os métodos públicos deExistingJComponent, exceto os deJComponent, para ser exposto pela minha turmaMyJComponent. Então eu quero adicionar alguns métodos públicos paraMyJComponent.

Observe que não estou procurando uma alternativa para oJCommandButtonStrip/JCheckBox exemplo. Estou interessado em uma abordagem geral para esse problema.

questionAnswers(4)

yourAnswerToTheQuestion