こんにちは、とオブジェクトJava
を使用していくつかの描画例を作成しようとしています。描画と「その周り」には固定サイズの「ステージ」(400x300)が必要です。paintComponent
Graphics
window/frame
これが私のセットアップです:
public class MyJFrame extends JFrame{
public MyJFrame(){
//setSize(new Dimension(400,300));
setBackground(Color.green);
Stage stage = new Stage();
add(stage);
this.pack();
this.setResizable(false);
this.setVisible(true);
System.out.println(this.size());
System.out.println(stage.size());
}
}
public class Stage extends JPanel {
public Stage(){
setPreferredSize(new Dimension(400,300));
//setSize(new Dimension(400,300));
}
@Override
protected void paintComponent(Graphics g) {
g.setColor(Color.BLACK);
g.fillRect(0, 0, 400, 300);
}
}
印刷物の出力は次のとおりです。
java.awt.Dimension[width=416,height=338]
java.awt.Dimension[width=400,height=300]
しかし、結果は次のようになります。
黒い部分は400x300です。この余分なスペースがどこから来るのかわかりません。とレイアウト
のバリエーションをいくつか試しましたが、実際には何も機能しませんでした。setSize
setPreferredSize
PSそこにJavaフィドルはありますか?