    FOREIGN MODULE javax_swing_colorchooser;

    IMPORT
        javax_swing_event,
        java_io,
        java_lang,
        javax_swing,
        java_awt,
        javax_accessibility,
        java_util,
        javax_swing_plaf,
        java_beans,
        javax_swing_border,
        java_awt_event,
        java_awt_image,
        java_awt_peer,
        sun_awt,
        java_awt_dnd,
        java_awt_im,
        javax_swing_text,
        java_awt_datatransfer,
        java_text,
        java_security;

    TYPE

      AbstractColorChooserPanel* = POINTER TO ABSTRACT RECORD (javax_swing.JPanel)
                                   STATIC
                                     PROCEDURE Init*() : AbstractColorChooserPanel,CONSTRUCTOR;
                                   END;

      ColorChooserComponentFactory* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                                      STATIC
                                        PROCEDURE getDefaultChooserPanels*() : POINTER TO ARRAY OF AbstractColorChooserPanel;
                                        PROCEDURE getPreviewPanel*() : javax_swing.JComponent;
                                      END;

      ColorSelectionModel* = POINTER TO INTERFACE RECORD (java_lang.Object)
                             END;

      DefaultColorSelectionModel* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + ColorSelectionModel + java_io.Serializable)
                                      changeEvent! : javax_swing_event.ChangeEvent;
                                      listenerList! : javax_swing_event.EventListenerList;
                                    STATIC
                                      PROCEDURE Init*() : DefaultColorSelectionModel,CONSTRUCTOR;
                                      PROCEDURE Init*(p0 : java_awt.Color) : DefaultColorSelectionModel,CONSTRUCTOR;
                                    END;

    PROCEDURE (self:AbstractColorChooserPanel) buildChooser!(),NEW,ABSTRACT;

    PROCEDURE (self:AbstractColorChooserPanel) getColorFromModel!() : java_awt.Color,NEW,EXTENSIBLE;

    PROCEDURE (self:AbstractColorChooserPanel) getColorSelectionModel*() : ColorSelectionModel,NEW,EXTENSIBLE;

    PROCEDURE (self:AbstractColorChooserPanel) getDisplayName*() : java_lang.String,NEW,ABSTRACT;

    PROCEDURE (self:AbstractColorChooserPanel) getLargeDisplayIcon*() : javax_swing.Icon,NEW,ABSTRACT;

    PROCEDURE (self:AbstractColorChooserPanel) getSmallDisplayIcon*() : javax_swing.Icon,NEW,ABSTRACT;

    PROCEDURE (self:AbstractColorChooserPanel) installChooserPanel*(p0 : javax_swing.JColorChooser),NEW,EXTENSIBLE;

    PROCEDURE (self:AbstractColorChooserPanel) paint*(p0 : java_awt.Graphics),EXTENSIBLE;

    PROCEDURE (self:AbstractColorChooserPanel) uninstallChooserPanel*(p0 : javax_swing.JColorChooser),NEW,EXTENSIBLE;

    PROCEDURE (self:AbstractColorChooserPanel) updateChooser*(),NEW,ABSTRACT;

    PROCEDURE (self:ColorSelectionModel) addChangeListener*(p0 : javax_swing_event.ChangeListener),NEW,ABSTRACT;

    PROCEDURE (self:ColorSelectionModel) getSelectedColor*() : java_awt.Color,NEW,ABSTRACT;

    PROCEDURE (self:ColorSelectionModel) removeChangeListener*(p0 : javax_swing_event.ChangeListener),NEW,ABSTRACT;

    PROCEDURE (self:ColorSelectionModel) setSelectedColor*(p0 : java_awt.Color),NEW,ABSTRACT;

    PROCEDURE (self:DefaultColorSelectionModel) addChangeListener*(p0 : javax_swing_event.ChangeListener),NEW,EXTENSIBLE;

    PROCEDURE (self:DefaultColorSelectionModel) fireStateChanged!(),NEW,EXTENSIBLE;

    PROCEDURE (self:DefaultColorSelectionModel) getSelectedColor*() : java_awt.Color,NEW,EXTENSIBLE;

    PROCEDURE (self:DefaultColorSelectionModel) removeChangeListener*(p0 : javax_swing_event.ChangeListener),NEW,EXTENSIBLE;

    PROCEDURE (self:DefaultColorSelectionModel) setSelectedColor*(p0 : java_awt.Color),NEW,EXTENSIBLE;

    END javax_swing_colorchooser.