getInsets() メソッドの使い方について
JAVA言語を勉強中の者です
getInsets() メソッドでフレームの外周に空白部分を
作るのですが、その場合は以下のように
public Insets getInsets(){
return new Insets(40,10,10,10);
}
とオーバーライドするとあります。
オーバーライドのみで外周に空白ができるのを確認できたのですが
このオーバーライドされたメソッドをフレームのコンストラクター内等でgetInsets(); とメソッドを書かなければ,
このメソッドはフレームに反映されなのではないかと考えているのですが、
実際は書かなくても外周の空白はきっちりととれます。
どうしてオーバーライドのみでこのメソッドは実行結果に反映されるのでしょうか。
よろしくお願いします
MyFrame(String ss){
.............
getInsets(); //この記述不要で動作します
.............
}
簡単なソースを記述しました
import java.awt.*;
public class Sample{
public static void main(String args[]){
MyFrame frame = new MyFrame("Sample.java");
frame.setSize(200,200);
frame.setVisible(true);
}
}
class MyFrame extends Frame{
Button b1, b2, b3, b4;
MyFrame(String ss){
super(ss);
setLocation(100,100);
setLayout(new GridLayout(2,2));
//getInsets(); この記述がないと外周空白はできないと考えています
add(b1=new Button("1"));
add(b2=new Button("2"));
add(b3=new Button("3"));
add(b4=new Button("4"));
}
public Insets getInsets(){
return new Insets(40,10,10,10);
}
}
お礼
ありがとうございます。 ルールを壊さないようにするときとかに使うのですか。 それと最近リスコフの置換原則を知ってさらに理解できました。