0

私のクラスは gxt ボタンを拡張し、ボタンに checkBox を追加したいのですが、ボタンにコンポーネントを追加する方法がありません。

import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.CheckBox;

public class ButtonCheckBox extends Button {

    private CheckBox checkBox;

    public ButtonCheckBox() {
        checkBox = new CheckBox();
        checkBox.setBoxLabel("CheckBox");

        setWidth(200);
    }
}

可能であれば、ボタンにチェックボックスを追加するにはどうすればよいですか?

ここに画像の説明を入力

4

2 に答える 2

1

エリラン・マルカに感謝します。以下のコードを使用してこれを行いました

import com.dips.pei.client.view.resources.Icons;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.widget.button.ToggleButton;
import com.google.gwt.user.client.ui.AbstractImagePrototype;

public class CheckBoxButton extends ToggleButton {

public CheckBoxButton() {
    setIcon(AbstractImagePrototype.create(Icons.INSTANCE.notcheckedIcon()));
    setId("checkBoxButton");
}

@Override
protected void onClick(ComponentEvent ce) {
    super.onClick(ce);

    if(isPressed()){
            setIcon(AbstractImagePrototype.create(Icons.INSTANCE.checkedIcon()));
    }else{
        setIcon(AbstractImagePrototype.create(Icons.INSTANCE.notcheckedIcon()));
    }
}
}
于 2012-09-05T12:50:59.810 に答える
0

GXT 2.x 標準 API を使用することはできないようですが、HTML を使用して実現できる可能性がありますTemplate

チェックボックスの目的がボタンの状態のインジケーターとして機能することであると仮定すると、代わりに a を使用してToggleButtonその外観を変更することをお勧めします。それに CSS クラス名を割り当て、さまざまな状態に応じて異なる背景画像を適用できます。

.my-toggle-button .x-btn-mc {
    background-image: url('images/toggle-button/checkbox-off.png');
}

.my-toggle-button.x-btn-pressed .x-btn-mc {
    background-image: url('images/toggle-button/checkbox-on.png');
}

リファレンス (GXT 2.2.5 API について)

于 2012-09-04T09:45:55.167 に答える