java加载窗口画图形加载图片确定图形坐标的方法实例源码介绍



java加载窗口画图形加载图片确定图形坐标的方法实例源码介绍。java如何画圆形,如何画直线,如何设置画笔的颜色,如何设置文字的字体样式加粗、java设置填充图的颜色等。Graphics类、Font类、Image类的应用实例。虽然java在图形化编程方面并不是强项或者说那就是java语言最大的弱势所在。但作为一个java程序员,简单的图形界面设计也是应该掌握的。java是面向对象的语言,而java图形化编程的学习可以让我们深入理解什么是面向对象,或者是应用到实际当中了。

本文实例主要介绍如何使用awt如何加载窗口,画矩形,画圆形,画直线,填充图形,设置画图的颜色等。以下是具体的实例源码:

package cn.bjsxt.test;

import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
* 游戏基本知识测试类
* @author dell
*
*/
public class GameFrame extends Frame { //GUI编程:AWT,swing等。继承了窗体

Image img = GameUtil.getImage(“images/sun.jpg”);

/**
* 加载窗口
*/
public void launchFrame(){
setSize(500, 500);//设置窗体的长和宽
setLocation(100, 100);//设置窗体在屏幕上的位置的方法,也就是以窗体的左顶点作为参考(设置左顶点的坐标)
setVisible(true);//设置窗口可见,默认情况下是不可见的

new PaintThread().start(); //启动重画线程

addWindowListener(new WindowAdapter() {//窗口监听
@Override
public void windowClosing(WindowEvent e) {//在窗口监听里重写了关闭窗体的方法
System.exit(0);//设置窗体可关闭,0为正常关闭窗口
}

});
}

private double x=100,y=100;

@Override
public void paint(Graphics g) {//g为画笔对象
g.drawLine(100, 100, 200, 200);//画线,里面的参数的意思从左到右的意思是:设置另个端点的坐标
g.drawRect(100, 100, 200, 200);//画矩形,参数意思是,前两个参数时矩形的顶点坐标,后面两个是长与宽的数据
g.drawOval(100, 100, 200, 200);//以里面的参数作为矩形,然后再画一个矩形的内切圆


Font f =new Font(“宋体”,Font.BOLD,100);//设置画笔的字体
g.setFont(f);

g.drawString(“我是******”, 200, 200);

g.fillRect(100, 100, 20, 20);//以当前颜色填充矩形颜色

Color c = g.getColor();
g.setColor(Color.red);//设置填充色为红色
g.fillOval(300, 300, 20, 20);//填充圆形的颜色
g.setColor(c);

g.drawImage(img, (int)x, (int)y, null);

x += 3;
y += 3;
}

/**
* 定义一个重画窗口的线程类,是一个内部类
* @author dell
*
*/
class PaintThread extends Thread {

public void run(){
while(true){
repaint();
try {
Thread.sleep(40); //1s = 1000ms
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

}

public static void main(String[] args) {

GameFrame gf = new GameFrame();
gf.launchFrame();
}

}