import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class Main{
public Main(){
JFrame f=new JFrame();
f.setTitle("Graphics Test");
f.setSize(600,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
//フレームに描画する準備
Graphics g=f.getGraphics();
//色を赤に設定
g.setColor(Color.red);
//四角を描画(塗りつぶし)
g.fillRect(50, 50, 100, 100);
}
public static void main(String[] args){
new Main();
}
}
実行結果
- はじめてのグラフィックス Ver 2.0
- 赤い四角を表示したはずが、何も表示されない
- 描画に失敗しているのではなく、描画後ウィンドウ(フレーム)で上書きされている
- そこで描画部分を以下のように無限ループにしてみると表示される。
while(true) {
g.fillRect(50, 50, 100, 100);
}
実行結果
コード全体
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class Main{
public Main(){
JFrame f=new JFrame();
f.setTitle("Graphics Test");
f.setSize(320,240);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
//フレームに描画する準備
Graphics g=f.getGraphics();
//色を赤に設定
g.setColor(Color.red);
//四角を描画(塗りつぶし)
while(true) {
g.fillRect(50, 50, 100, 100);
}
}
public static void main(String[] args){
new Main();
}
}