在Eclipse里,编写如下两个类:
package game2; import java.awt.Color; import java.awt.Graphics; import
javax.swing.JPanel; /** * java游戏开发杂谈 * ---demo2:画布和画笔 * * @author 台哥 * @date
2019-04-02 */ public class GamePanel extends JPanel { /** 屏幕的宽和高 */ private int
width,height; public GamePanel(int width, int height) { this.width = width;
this.height = height; this.setSize(width, height); } /** * 覆盖paintComponent()方法
* 参数中的Graphics是画笔,使用它可以绘制出字符串、直线、矩形、圆、图片等等。 */ public void
paintComponent(Graphics g) { super.paintComponent(g); //画绿色背景 g.setColor(new
Color(0x839156)); g.fillRect(0, 0, width, height); //画一行字
g.setColor(Color.pink); g.drawString("我学java,我骄傲", 100, 80); //再画一行字
g.setColor(Color.yellow); g.drawString("游戏好玩,开发游戏更好玩", 300, 80); //画一条线
g.setColor(Color.black); g.drawLine(5, 120, 580, 120); //画一个矩形(不填充内部)
g.setColor(Color.green); g.drawRect(100, 160, 100, 60); //画一个矩形(填充内部)
g.setColor(Color.blue); g.fillRect(300, 160, 100, 60); } } package game2;
import javax.swing.JFrame; /** * java游戏开发杂谈 * ---demo2:画布和画笔 * * @author 台哥 *
@date 2019-04-02 */ public class GameFrame extends JFrame{ private int width =
600, height = 400; public GameFrame() { //设置窗体标题
this.setTitle("java游戏开发杂谈-台哥出品"); //创建一个画布 GamePanel panel = new
GamePanel(width, height); //把画布加入到窗体中 getContentPane().add(panel, "Center");
//设置窗体大小 this.setSize(width, height); //设置能否调整窗体大小 this.setResizable(false);
//这句会使得在屏幕上居中显示 this.setLocationRelativeTo(null); //当关闭窗体的时候退出程序
this.setDefaultCloseOperation(EXIT_ON_CLOSE); //把窗体显示出来 this.setVisible(true);
} /** * 主方法 */ public static void main(String[] args) { GameFrame frame = new
GameFrame(); } }
运行效果,如下图所示:
窗体JFrame,表示操作系统的一个窗口,可以想象成绘画用的画板。
画布JPanel, 用来放到JFrame中,可在上面作画,可以想象成绘画用的画纸。
画笔Graphics, 用来绘画,提供了一些最基础的绘制方法。比如drawRect绘制一个矩形,drawString绘制字符串。
台哥,一个老的忘记了年龄的程序员,忙里偷闲,瞎扯几篇java游戏开发杂谈,内容浅显,代码简陋。。。
技术精深的同行,一笑而过就好。刚刚入门的同学,感谢你的关注。
热门工具 换一换