Class JButton

All Implemented Interfaces:
ImageObserver, ItemSelectable, MenuContainer, Serializable, Accessible, SwingConstants

public class JButton extends AbstractButton implements Accessible
Emulator for JButton — a thin delegating shell over its SJButton peer. Responsibility splits across the two:
  • Surrogate — the ButtonModel-driven click/armed/pressed pulse, the AbstractButtonMixin Action wiring, and the rendered Vaadin Button peer.
  • Emulator (here + AbstractButton) — the Swing-shape API migrated code compiles against: ActionListener with source == this JButton, PCEs on the emulator's own PropertyChangeSupport, and the JButton-specific defaultCapable / isDefaultButton / paramString surface.
Field shadows for visual flags / alignment / margin / multiClick / state-conditional icons live on AbstractButton, not the surrogate: SJButton drops them per R_vaadin_first (bucket B/C), so the emulator is the only side where full JDK round-trip survives (R_swing_is_truth). Leaf peer is locked down per R_leaf_peer_lockdown.
See Also: