swing改变背景色问题

问题描述

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();}}

解决方案

看这个代码片段好像没问题,发个完整的看看
解决方案二:
引用posx = 17; posy = 25; 引用g.fill3DRect(20*posx,20*posy,20,20,true); 已经超出你的坐标空间了,把posx,posy 改小或者加大frame的长宽,你就能看见红色方格了

时间: 2024-12-27 00:42:57

swing改变背景色问题的相关文章

jQuery 全选/反选以及单击行改变背景色实例

我先把CSS样式放出来,其实这个可以直接忽略 复制代码 代码如下: body{margin:0;padding:0;font-size:12px;font-family:微软雅黑;} .datagrid{width:100%;} .datagird tr th{background-color:#191970; font-size:14px;} .datagrid tr th, .datagrid tr td{border:1px solid #ccc; border-collapse:coll

JavaScript实现点击单元格改变背景色的方法_javascript技巧

本文实例讲述了JavaScript实现点击单元格改变背景色的方法.分享给大家供大家参考,具体如下: <html> <body> <table onclick="SetColor(event)" id="_t" width="500" border="0" cellspacing="0" cellpadding="0"> <tr> <t

PS证件照怎样改变背景色?

  1.首先利用PS打开一张照片,如果照片不符合实现尺寸需要,可利用"裁剪"工具进行裁剪.点击"裁剪工具",然后根据实际高宽来进行设置"宽度"和"高度"参数,并通过拖动绘制裁剪区域,双击完成裁剪过程. 2.选择"魔棒"工具,并设置合适的"容差",通常为"10",点击背景区域,将其选中. 3.点击"更改前景色"图标,在打开的"拾色器&quo

求助webbrowser如何使选中的标签改变背景色

问题描述 鼠标移入页面标签时,该标签背景色变为黄色,移出该标签时背景色还原回去 解决方案 解决方案二:用mouseenter,mouseleave事件呀解决方案三:引用1楼bafzxzh的回复: 用mouseenter,mouseleave事件呀 能给个详细的代码吗,我自己试过了效果不行.解决方案四:比如一个标签当鼠标移动到上面时:privatevoidlabelControl1_MouseEnter(objectsender,EventArgse){labelControl1.BackColo

win7下如何让swing改变任务栏图标?

问题描述 环境:jdk 1.4.2win7setIconImage(null)只会改变标题栏的图标.注意:是任务栏,不是系统托盘图标,我想做类似qq来消息的闪烁效果.搜了半天没搜到,请赐教. 问题补充:飞雪无情 写道 解决方案 你要做的就是在你需要闪烁的时候调用frame.setVisible(true); ,比如接收到消息的时候,这时候就可以调用frame.setVisible(true); 实现闪烁.解决方案二:兄弟,给你写个小测试例子,实现了闪烁** * 原理就是当Iframe不是焦点时,

WPS Office2007中插入水印和改变背景色

出于美观.保密等各种原因,我们有时需要在文档中加上水印.在WPS文字2005中却并没有直接提供添加水印的功能.想在WPS2007文档中添加水印的,请跟我来-- 首先,我们来分析一下水印的基本特征.第一,水印要在每一页上出现:第二,水印不能影响文档的正常布局:第三,水印的图案或文字要比正常文档内容浅一些. 好了,针对这些特征及其要求,我们制定如下解决方案: 第一,由于水印要在每一页上出现,最简便的方法是利用"页眉页脚"来实现,因为页眉和页脚是出现在每一页的,但是,页眉和页脚是在文档的特定

文本框获得焦点时如何改变背景色

提示:您可以先修改部分代码再运行 输入框预提示 www.111cn.net 提示:您可以先修改部分代码再运行

求大神帮忙,在gridcontrol中,选中某一行时改变该行的背景色

问题描述 求大神帮忙,在gridcontrol中,选中某一行时改变该行的背景色 求大神帮忙,在gridcontrol中,选中某一行时改变该行的背景色 ,我就5个C币 ,全拿出来了 解决方案 用什么?js?,jq?,ext? 当你选中一行触发一个函数,function getRow(rowIndex){ //改变背景色就行了. 如果你不嫌麻烦,在grid每行上做一个点击事件,点击这行,添加一个addclass也行. 解决方案二: $(该行).css("background-color",

javascript学习笔记(二) 鼠标经过时,改变div块的背景色的代码_基础知识

HTML部分代码: 复制代码 代码如下: <ul> <li>鼠标经过时改变背景色</li> <li>鼠标经过时改变背景色</li> <li>鼠标经过时改变背景色</li> <li>鼠标经过时改变背景色</li> </ul> javascript部分代码: 当鼠标经过时,给li添加class="current"类,鼠标离开时,去除该类,达到改变背景色的目的 复制代码 代