クラスを拡張して、最終的にカスタムボタンを作成しようとしています。私はいくつかの場所で、階層をできるだけ高く拡張するのが最善であると読んだので(より良いポリモーフィズムのために?)、拡張しようとしていますJComponent
:
import javax.swing.*;
import java.awt.*;
public class TestButton extends JComponent {
private static final long serialVersionUID = 1L;
public TestButton() {
super();
}
}
そして、これを呼び出すコードは次のとおりです。
b1 = new TestButton();
basePanel.add(b1,gbc); // (gbc is GridBagConstraints object)
問題は、JComponent
私のレイアウトに表示されないということです。クラスをとして拡張するとJButton
、問題はありません。どうしたんだ?
アップデート:
参考までに、これは一種の初心者の概念的な質問です。私はここで明らかに熟練しているとは言えません。
これが説明する写真です。変更されたのはextends ______
。
何が起こっているのかは、底の黄色いブロックと同じ高さの紫色で塗りつぶされたブロックです。
何が起こっているのかは、背景のないデフォルトサイズのブロックです(黒はJFrameからのものです)。