Class JButton

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

public class JButton extends AbstractButton implements Accessible
Emulator for JButton, rendered by its SJButton peer. Responsibility splits across the two:
  • Surrogate — the rendered Vaadin Button peer, which pulses the emulator's ButtonModel on a browser click.
  • Emulator (here + AbstractButton) — the ButtonModel and 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: