java编写的俄罗斯方块小程序,Jpanel怎么设置为自己想要的图片,我的代码实现了但把方块掩盖了,求修改

怎么把游戏区和下一个方块的背景换成想要的图片并且不影响操作啊,这是我是用的代码,没有错误但游戏区看不到方块了,,求大神指教
class GameCanvas extends JPanel
{
private Color backColor = Color.WHITE, frontColor = Color.green; //设置游戏区和预示区的背景颜色
private int rows, cols, score = 0, scoreForLevelUpdate = 0;
private ErsBox[][] boxes;
private int boxWidth, boxHeight;
public GameCanvas(int rows, int cols)
{
this.rows = rows;
this.cols = cols;
boxes = new ErsBox[rows][cols];
for (int i = 0; i < boxes.length; i++)
{
for (int j = 0; j < boxes[i].length; j++)
{
boxes[i][j] = new ErsBox(false);
}
}
}
public GameCanvas(int rows, int cols,
Color backColor, Color frontColor)
{
this(rows, cols);
this.backColor = backColor;
this.frontColor = frontColor;
}

public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(frontColor);
for (int i = 0; i < boxes.length; i++)
{
for (int j = 0; j < boxes[i].length; j++)
{
g.setColor(boxes[i][j].isColorBox() ? frontColor : backColor);
g.fill3DRect(j * boxWidth, i * boxHeight,
boxWidth, boxHeight, true);
}
}
try {
BufferedImage img = ImageIO.read(JPanel.class.getResource("11.jpg"));
g.drawImage(img, 0, 0,getRows(),getCols(), null);
} catch (IOException e) {
e.printStackTrace();
}

}

.setBackground(Color.yourChoseColor);
直接设置小块的背景色不就行了。追问

想要一整张图片作为背景?求指导

追答

好吧,我告诉你如果你想呀让俄罗斯方块整个用图片显示,那么你就要自己去做那种俄罗斯方块样式的图片,但是SWING好像只接受方形的图片,所以你要自己重写JPANEL的内部方法。总之很麻烦。
当然你也可以使用point进行绘画,但是那样还是方的依旧很麻烦。
不懂你为什么会有这个想法?设置背景色这种既简单又高效的方法却不用。
你也可以设置四种颜色的小方块,将他们放在JPANEL里通过组合形成俄罗斯方块的样式。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-25
楼主自己作图然后加到Jpanel里面呗= =追问

不懂??????想要一整张图片作为背景?求指导

追答

喵 。。单解释P图链接到Panel是一种回避java2D图形库视觉效果不理想的方法= = 学习使用面向对象的方法设计哪怕像俄罗斯方块这样的小游戏都是具有意义的 推荐楼主学习java吧小翼同学用面向对象做的俄罗斯方块视频 加油楼主
以下链接http://tieba.baidu.com/p/2039621772?pn=1

java编写的俄罗斯方块小程序,Jpanel怎么设置为自己想要的图片,我的代...
直接设置小块的背景色不就行了。

怎么从多个文件夹里提取出自己想要的图片?
打开文件夹,找到需要提取图片的文件夹,复制该文件夹的路径,例如:"C:\\Users\\UserName\\Pictures\\Goods"。打开文本编辑器,例如记事本,输入以下代码:bash Copy code echo off set sourceFolder=C:\\Users\\UserName\\Pictures\\Goods set destFolder=C:\\Users\\UserName\\Pictures\\SelectedGoods for \/r %sour...

看了马士兵老师的坦克大战java程序,想按照自己的思路动手编一下,结果界...
·JDialog:和JFrame类似,只不过JDialog是用来设计对话框。·JApplet:用来设计可以在嵌入在网页中的Java小程序。而且你的代码 Kosese001既然继承了JFrame 那么他的构造就是个JFrame ,你下面又new JFrame("坦克大战");这样何必继承,直接在构造里面实现操作就可以把Kosese001中,你的背景色没有显示...

java编写的程序封装成exe后会有多大啊?我写了个小程序,代码只有六七...
java都是需要运行在虚拟机上,所谓的可移植性是在对方电脑里装有相关库和平台的前提下才有效,如果对方电脑根本你就不支持JAVA你当然需要先给对方机子配置一下,你哪怕一个程序就10行,只要是java你就必须这样,所谓的可移植性只是针对装了jdk的,这样不管你是linux,unix,windows什么的,程序可移植,这...

用java语言, 如何实现为图片添加边框素材,就是把图片和边框素材(图片...
你要做的仅仅是选定需要动态效果的对象,比如文字,图片,然后利用“傻瓜”式的操作就可以让你的网页动起来。 Web页有自己的一组属性,通过选择“文件”菜单中的“属性”或通过鼠标右键单击页内任何位置,选择快捷菜单中的“网页属性”命令,可以打开“网页属性”对话框,在“常规”选项卡中,各项设置含义如下: ·位置:...

Java怎么自学?
下面电脑培训为大家介绍零基础自学Java的方法。 一、坚持 很多人都听说过万丈高楼平地起,万丈高楼是怎么来的呢,那是需要工人一层一层建起来的。学习Java也是同样的道理,零基础学习Java最重要的就是坚持。刚开始很多人对Java的了解非常少,需要一步一步的深入了解,想要一步成才是不可能的。自学想要快速掌握Java是...

想用记事本编写小程序,实现一些基本的应用,比如自动关机、自动重启等等...
这里用的地址是QQ的默认安装地址,默认批处理文件名为a.bat,你当然可以根据情况自行修改。在这个脚本中使用了if命令,使得它可以达到适时判断和删除广告图片的效果,你只需要不关闭命令执行后的DOS窗口,不按CTRL+C强行终止命令,它就一直监视是否有广告图片(QQ也再不断查看自己的广告是否被删除)。当然...

自己怎么做小程序商城
4、对模板进行修改设置基本都是一些输入更换的操作,很容易上手,如果实在不懂还可以参考凡科商城里面的小程序开发教程。5、授权小程序账号并提交审核和发布小程序账号是需要自己去官网注册的,登录之后将账号授权给凡科商城平台,就可以提交刚刚制作的小程序进行审核,等待通过并发布了。1000+商城模板,150...

学习代码需要怎样的基础?
例如学习Java在学习中应把重点放在其语言基础、Java与ActiveX以及JavaBeans等组件之间的编程技术以及应用上来。你可以自己编一些较为经典的小程序来加深基本技能的掌握:用Java的图形处理能力编写纸牌游戏,用AWT编写扫雷或者俄罗斯方块、用Java的网络功能编写网络聊天室等等。关键是学一种思想,有了思想,那么...

Java语言的特点
(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。 另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。)JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要...

相似回答