paint绘图,java怎么调用paint
本篇文章的主要内容是关于在爪哇里用颜料方法画图,具有一定参考价值,感兴趣的朋友可以了解一下,希望能对你有所帮助。
java使用paint方法画图
需要继承窗口类来画窗口=公共类游戏扩展JFrame {}
设置标题(字符串s);//设置窗口标题
setLocation(int x,int y);//设置窗口位置
setSize(int width,int height);//设置窗口宽和高
设置可见(真);//设置窗口可见,默认为弗莱斯,这个方法放在setLocation()和数组大小后面较好,我放在前面窗口为黑色,本来默认为白色的
paint方法画图
定义后自动调用
公共类绘制(图形g) {
color c=g . getcolor();//记录原来的颜色
font f=g . get font();//记录原来的字体
g.setColor(颜色。黑色);//设置画线的颜色
g.drawLine(int x1,int y1,int x2,int y2);//两点画直线
g.drawRect(int x,int y,int width,int height);//左上角顶点加宽高画矩形
g.fillRect(int x,int y,int width,int height);//画填充矩形
g.setFont(新字体(楷体,字体。粗体,40));//设置字体为楷体,粗体,大小为40
g.drawString(str,int x,int y);//画出潜艇用热中子反应堆(海底热反应堆的缩写)字符串
g。设置颜色(c);//变回原来的颜色
g。设置字体(f);//变回原来的字体}GameUtil工具类导入图片
导入Java。awt。形象;
导入Java。awt。形象。缓冲图像;
导入Java。io。io异常;
导入Java。网。网址;
导入javax。imageio。imageio
公共类GameUtil {
//工具类最好将构造器私有化。
私有GameUtil() {
}
公共静态图像getImage(字符串路径){
BufferedImage bi=null
尝试{
URL u=游戏实用程序。班级。获取类加载器().获取资源(路径);
bi=imageio。读(u);
} catch (IOException e) {
e。printstacktrace();
}
返回毕;
}}在比赛类里面调用GameUtil
image imag=game util。getimage(" images/picture。png”);//我建立的一个形象包,用来存储图片,引号里面为图片的路径
g.drawImage(imag,x,y,width,height,null);//imag图片,位置,宽高,观察者
导入Java。awt。颜色;
导入Java。awt。字体;
导入Java。awt。图形;
导入Java。awt。形象;
导入javax。挥棒。jframe
公共类我的游戏扩展了JFrame{
image imag=game util。getimage( images/text 1。png’);//指定图片
@覆盖
公共空白油漆(图形g) {
color c=g . getcolor();
font f=g . get font();
g.setColor(颜色。蓝色);//设置线体颜色
g。拉线(100,100,650,100);//直线
g.drawRect(50,150,200,200);//空心矩形
g.fillRect(550,150,200,200);//实体矩形
g.drawOval(300,150,200,200);//圆形
g.setFont(新字体(楷体,字体。粗体,90));//设置字体
g .拉绳(“你好吗?", 100, 100);//写字
g.drawImage(imag,250,400,300,300,null);//插入图片
g。设置颜色(c);//线条颜色变为原来的样子
g。设置字体(f);//字体变为原来的样子
}
公共void launchJFrame() {
this.setTitle(我的游戏);//设置窗口标题
this.setSize(800,800);//设置窗口大小
this.setLocation(100,100);//设置窗口位置
这个。设置可见(真);//设置窗口可见
/*这个。addwindowlistener(新窗口适配器(){//叉掉窗口后,结束窗口所在的应用程序
@覆盖
公共void窗口关闭(窗口事件e){
系统。退出(0);
}
});*/
this . setdefaultcloseoperation(EXIT _ ON _ CLOSE);//划掉窗口后,结束窗口所在的应用程序。
}
公共静态void main(String args[]) {
my game game=new my game();
game . launch jframe();
}}设置图片的大小
public image getscaled instance(int width,int height,int hints)//hints-一个标志,表示用于图像重采样的算法类型(我不知道这句话是什么意思,就这么写吧)
image img=game util . getimage( images/text 1 . jpg );img=img.getScaledInstance(宽度,高度,图像。SCALE _ DEFAULT);如果想得到图片的大小,直接用getWidth()和getHeight()方法就可以了。
width=img . getwidth();height=img . get height();双缓冲技术解决闪烁
大概原理是:先把你需要画的东西加载到缓冲区,然后把缓冲区里的内容全部画到屏幕上,避免屏幕因为加载的东西太多而疯狂闪烁。
公共空白油漆(图形g){
BufferedImage imag=new buffered image(宽度,高度,buffered image。TYPE _ INT _ RGB);//建立缓冲区
graphics G2=imag . creatgraphics();//创建一个新的画刷,用这个画刷把内容画到缓冲区。
g2.drawRect(.);//括号里的参数没有写,这里用来说明一些绘图操作。
g2.drawImag(.);
g2.fillOval(.);
g.drawImage(imag,x,y,width,height,null);//将内容画在屏幕上}相关教程:Java视频教程
这就是java如何使用paint方法画图的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。