1. 程式人生 > >JAVA視窗程式設計(1)視窗載入,畫圖

JAVA視窗程式設計(1)視窗載入,畫圖

java.awt是一個軟體包,包含用於建立使用者介面和繪製圖形影象的所有分類。這次建立視窗等操作都需要引入awt包。

建立視窗

建立視窗需要給出位置,大小。
setSize(500,500);//建立500*500的視窗
setLocation(100,100);////視窗位置
setVisible(true);//顯示建立的視窗

這樣建立的視窗還不可以退出,要關閉它還需要新增一個事件監聽,在裡面重寫windowClosing()方法。
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent arg0) {
System.exit(0);
}

繪圖

通過對paint()方法的重寫可以按照自己的意願在視窗上繪製圖案。
比較常用的有兩種方法,一種是drawXXXX()方法,用來繪製線條,另一種是fillXXXX()方法,用來填充指定區域。XXXX指的是特定形狀,如Rect–矩形,Oval–橢圓形。
使用者也可以用setColor()對填充的顏色進行選擇,需要注意的是,為了使繪製前後顏色保持不變,需要在繪製完成後將顏色改回繪製前的狀態。

具體程式碼

package test;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class gameframe extends Frame{
public void launchframe() {
setSize(500,500);
setLocation(100,100);
setVisible(true);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent arg0) {
System.exit(0);
}
});
}
@Override
public void paint(Graphics g) {
g.drawLine(100, 100, 200, 200);
g.drawRect(100, 100, 200, 200);
g.drawOval(100, 100, 200, 200);
g.drawString("abc", 300, 300);
g.fillRect(300, 300, 150, 100);
Color c = g.getColor();
g.setColor(Color.blue);
g.fillOval(200, 200, 50, 50);
g.setColor(c);
}
public static void main(String[] args) {
gameframe gf = new gameframe();
gf.launchframe();
}
}

執行結果為:
這裡寫圖片描述