close
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); } }
執行結果:
全站熱搜
留言列表