0 0

swing改变背景色问题5

                Color co = g.getColor();
g.clearRect(20*posx,20*posy,20,20);
g.setColor(Color.red);
g.fill3DRect(20*posx,20*posy,20,20,true);
g.setColor(co);

我想在pox poy处的20*20矩形画成红色,但是没有达到想要的效果,,怎么回事呢

问题补充:import java.awt.*;
import javax.swing.*;

class RoadPath extends JPanel{
int direction;
int map[][];
int posx;
int posy;
public RoadPath(){
posx = 17;
posy = 25;
direction = 8;
JFrame f = new JFrame();
f.setBounds(100,100,700,500);
f.add(this);
f.setVisible(true);
//f.
map = new int[30][20];
//draw Road
//竖
for(int y=4;y<16;y++){
int ran=((int)(Math.random()*1000))%3;
if(ran==0){
map[3-1][y]=1;
map[3+23-1][y]=1;
map[3+1][y]=1;
map[1+3+23][y]=1;
}
if(ran==1){
map[3+1][y]=1;
map[1+3+23][y]=1;
}
if(ran==2){
map[3+1][y]=1;
map[1+3+23][y]=1;
map[3+2][y]=1;
map[2+3+23][y]=1;
}
map[3][y]=1;
map[3+23][y]=1;
}
for(int x=3;x<27;x++){
int ran=((int)(Math.random()*1000))%3;
if(ran==0){
map[x][3-1]=1;
map[x][3+13-1]=1;

map[x][3+1]=1;
map[x][3+13+1]=1;
}
if(ran==1){
map[x][3+1]=1;
map[x][3+13+1]=1;
}
if(ran==2){
map[x][3+1]=1;
map[x][3+13+1]=1;
map[x][3+2]=1;
map[x][3+13+2]=1;

map[x][3-1]=1;
map[x][3+13-1]=1;
}
map[x][3]=1;
map[x][3+13]=1;
}
}

public void paintComponent(Graphics g){
for(int i=0;i<30;i++)
for(int j=0;j<20;j++){
if(map[i][j]==0){
//Color co = g.getColor();
//g.setColor(Color.red);

g.draw3DRect(20*i,20*j,20,20,true);
//g.setColor(co);

}
else if(map[i][j]==3){

}
else {
g.fill3DRect(20*i,20*j,20,20,true);

}

}
Color co = g.getColor();
g.clearRect(20*posx,20*posy,20,20);
g.setColor(Color.red);
g.fill3DRect(20*posx,20*posy,20,20,true);
g.setColor(co);

}
public static void main(String args[]){
new RoadPath();
}
}

问题补充:
chen_yongkai 写道
看这个代码片段好像没问题,发个完整的看看

代码贴上去了亲
2012年3月21日 21:24

2个答案 按时间排序 按投票排序

0 0

采纳的答案

看这个代码片段好像没问题,发个完整的看看

2012年3月21日 21:45
0 0

引用
posx = 17;
posy = 25;
引用
g.fill3DRect(20*posx,20*posy,20,20,true);

已经超出你的坐标空间了,把posx,posy 改小或者加大frame的长宽,你就能看见红色方格了

2012年3月22日 09:12

相关推荐

    java用滚动条实现的调色板(swing)

    java用滚动条实现的调色板(swing)

    swing超绚丽俄罗斯方块[源码+可运行jar]

    效果可以在这里看到: ... 1、消行使用了自己写的一个简单粒子效果。...3、固定方块和背景的渐变色是纯代码产生的效果。 4、右边带缓动的积分槽 5、没做等级和难度,大家有兴趣自己稍微改下代码就OK啦

    更改标题栏背景并重写JFrame窗口

    对JFrame窗口进行了重写 最大最小化按钮可以改变(我用的是qq上的最大最小化按钮图标) 对JFrame进行更改 得到了自己想要的窗口 本窗口是用来做局域聊天窗口特别设计的 详细 内容 代码都有详细注释谢谢下载

    表格渲染(悬浮变色,隔行换色,点击变色)

    /** * * @author 翟正强 广东中山中南中南T25班 * @version1.0 * @2009-09-08 * @表格渲染(悬浮变色,隔行换色,点击变色) */

    ListDemo.java

    Java Swing Jlist 基础 实现JList当鼠标滑过时改变当前经过的背景颜色属性,Swing自定义开发工具。

    Java简易文本编辑器

    该文本编辑器实现功能较为简易,功能为新建,保存,打开,退出,修改背景颜色和字体颜色。图形界面基于swing开发工具包,使用该程序请先给IDE添加此包。

    java项目-俄罗斯方块

    * @param backColor Color, 背景色 * @param frontColor Color, 前景色 */ public GameCanvas(int rows, int cols, Color backColor, Color frontColor) { this(rows, cols); //调用第一个版本的构造...

    Java画图版程序

    (2)单击“Color Settings”右边图标,可以修改画图板颜色(背景色); (3)通过“Size Settings”,可以修改图形线条粗细; (4)通过“Position & Size Settings”,可以修改图形位置和大小;7.拖动鼠标,即可拖动...

    java机考题

    JAVA 考前练一练 4.用Swing包定义一个窗口: 该窗口中有一个下拉框,下拉框中有5个选项(100*100,200*200,300*300,400*...该窗口中有一组单选按钮(红色、绿色、蓝色、黄色),选择不同的单选按钮时改变窗体的背景颜色。

    Java语言程序设计(一)课后习题第十二章(附答案).doc

    bg=new Checkbox("背景"); fg=new Checkbox("前景"); p1.add(bg); p1.add(fg); btnOK=new Button("确定"); btnCancel=new Button("取消"); p2.add(btnOK); p2.add(btnCancel); p.add(p1); p.add(p2); add(ch,...

    ColorTest.java

    编程实现以下功能: 界面如下图所示; 当点击不同的按钮时,圆的填充颜色会随之改变;...用鼠标点击圆内部时,圆的 填充颜色会依照”面板背景色-红色-绿色-蓝色”循环改变; 鼠标移到圆内时,光标变成十字形;

    java项目_吃豆豆_源码及文档

    安排本练习的主要目的理解面向对象、能够用面向对象的思路去思考问题,结合Swing和现成的知识完成本项目。 二、 实现要求 使用面向对象的方式,完成本项目。 三、 实现技术 a) 熟练使用if、for等语句进行逻辑操作。 ...

    ChatMex! v 1.5:Chatmex 是一个基于通信服务器-客户端的简单免费聊天软件-开源

    这是 1.5 版本,这个版本包括一个数字时钟,它允许改变背景和书写的颜色。 您也可以在这里下载第一个版本的 ChatMex:https://sourceforge.net/projects/chatmex/?source=directory 制作人祝您聊天愉快! 由 ...

    JAVA实验报告

    (二)使用滚动条改变背景颜色 48 (三)Applet 与 Application 合并运行 49 (四)创建电闪雷鸣的动画 50 实验8 流与文件 53 一、实验目的 53 二、实验要求 53 三、实验内容 53 (一)使用标准数据流的应用程序 53 ...

    Java课程设计实验报告及全部源码流程图.doc

    尤其是由于课程 时间较紧,课上时间老师只是简单给我们讲述了一下Java Swing的基础知识,并没有去深入,而在此次课程设计中大量用到的监听事件的有关知识 需要自己去查标准文档,去网上找相关系料,这无疑对自己是一...

    Java开发的五子棋系统

    2、 编写DrawPanel extends JPanel,定义构造函数,来设置背景颜色。 然后在主框架类中创建DrawPanel对象,并添加到主框架中。 3、 DrawPanel中覆盖paintComponent方法来进行绘制。 绘制15*15网格的棋盘, 绘制前先...

    Eclipse_Swt_Jface_核心应用_部分19

    9.11.5 换行自动设置背景颜色 204 9.12 浏览器 205 9.13 本章小结 210 第10章 SWT中的拖放支持 211 10.1 可拖放的树 211 10.2 拖放原理概述 214 10.3 拖放源(DragSource) 215 10.3.1 创建拖放源对象...

    Java课程设计实验报告.docx

    尤其是由于课程时间较紧,课上时间老师只是简单给我们讲述了一下Java Swing的基础知识,并没有去深入,而在此次课程设计中大量用到的监听事件的有关知识需要自己去查标准文档,去网上找相关系料,这无疑对自己是一个...

    用Delphi实现Word文件的预览

    我们不必设置颜色值,因为根据 CLEAR 规则,每个像素的前景和背景色所占成分都是零,所以这两者都不参与像素的生成。但我们仍要填充该矩形,因为这将确定被操作的图像像素。 这里,我们可以稍微了解一下怎样控制...

Global site tag (gtag.js) - Google Analytics