Google Closure JavaScript で goog.ui.Button のサブクラスを作成しました。
/**
* @fileoverview This button makes a new widget.
* @author David Faux
*/
goog.provide('app.ui.NewWidgetButton');
goog.require('goog.ui.Button');
/**
* Button for creating a new widget.
* @constructor
* @param {goog.ui.ButtonRenderer=} opt_renderer Optional renderer used to
* render or decorate the button.
* @param {goog.dom.DomHelper=} opt_domHelper Optional DOM hepler, used for
* document interaction.
* @extends {goog.ui.Button}
*/
app.ui.NewWidgetButton = function(opt_renderer, opt_domHelper) {
goog.base(
this,
/** @type {goog.ui.ControlContent} */ 'New Widget',
opt_renderer,
opt_domHelper);
}
goog.inherits(app.ui.NewWidgetButton, goog.ui.Button);
ただし、このボタンを でインスタンス化するとvar newButton = app.ui.NewWidgetButton();
、Chrome コンソールでエラーが発生します。
`Uncaught TypeError: Object #<Object> has no method 'setContentInternal'`
メソッド を調べたところ、のスーパークラスである クラス のsetContentInternal
メソッドのようで、なぜこのメソッドが定義されていないのかわかりません。goog.ui.Control
goog.ui.Button