1.題目說明:
2.設計說明:
(1)設計一個置中,且大小為640x480的視窗,其標題為『2D雪人繪圖』,背景顏色為藍色(Blue)
(2)使用Java的繪圖方法,於程式執行時,將執行結果參考畫面中的雪人繪出。雪人眼睛、鼻子為黑色(Black),嘴巴及圍巾是紅色(red),Snowman的文字顯示於藍底畫面時,字體為紅色,顯示於白底畫面時(雪人),字體為綠色
(3)按下視窗右上角關閉按鈕,將會關閉視窗並結束應用程式的執行。
※備註:圖形位置與大小不須完全一致,但顏色及圖形需相同。
參考答案:
import javax.swing.*;
import java.awt.*;
class JDD01
{
public static void main(String[] args)
{
JFrame frame = new JFrame("2D 雪人繪圖");
frame.add(new MyCanvas());
frame.setSize(640, 480);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.pack();//調整視窗大小
frame.setVisible(true);
}
}
class MyCanvas extends Canvas
{
public MyCanvas()
{
this.setSize(500,480);
this.setBackground(Color.blue);
}
public void paint(Graphics g)
{
g.setColor(Color.WHITE);
g.fillOval(130, 180, 250, 250); //雪人的身體
g.setColor(Color.red);
g.fillRect(280, 220, 50, 90); //圍巾
g.setColor(Color.white);
g.fillOval(150, 60, 200, 200); //雪人的頭
g.setColor(Color.black);
g.fillOval(200, 120, 20, 30); //雪人的眼睛
g.fillOval(270, 120, 20, 30);
g.fillArc(170, 140, 80, 60, 330, 30);//雪人的鼻子
g.setColor(Color.red);
g.drawArc(195, 160, 100, 60, 180, 180);//雪人的嘴巴
//設定以藍色做XOR運算轉換顏色(為了在不同背景色顯示不同顏色)
g.setXORMode(Color.blue);
g.setFont(new Font(null,Font.PLAIN,48));
g.drawString("Snowman", 150, 440);
}
}
執行結果:
文章標籤
全站熱搜
