package baidu;
10年积累的成都做网站、网站制作、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有长宁免费网站建设让你可以放心的选择与我们合作。
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class CCC extends JFrame{
public CCC(){
super("随机绘直线");
this.setSize(200,200);
this.setVisible(true);
this.addWindowListener(new Wclose());
}
class Wclose extends WindowAdapter{
public void windowClosing(WindowEvent we){
System.exit(0);
}
}
public void paint(Graphics e){
int r = (int)(Math.random()*255);
int g = (int)(Math.random()*255);
int b = (int)(Math.random()*255);
e.setColor(new Color(r,g,b));
int x1 = (int)(Math.random()*200);
int y1 = (int)(Math.random()*200);
int x2 = (int)(Math.random()*200);
int y2 = (int)(Math.random()*200);
e.drawLine(x1, y1, x2, y2);
}
public static void main(String[] args) {
new CCC();
}
}
math.random,产生随机数值,让这个数值代表一种颜色。java可以用sleep控制一下时间,当然最好用时间片(自己做个时间片的函数)
//将背景色的值定义成空字符串
var bgColor="";
//循环6次,生成一个随机的六位数
for (var i = 0 ; i 6 ; i++)
{
bgColor += "" + Math.round(Math.random() * 9);
}
//将随机生成的背景颜色值赋给页面的背景色。
document.getElementById("test")
.style.backgroundColor="#" + bgColor;
把下面的代码放在一个空网页的最后体验一下。
SCRIPT language=javascript type=text/javascript
var a=Math.round(Math.random()*0x1000000);
var c="00000".concat(a.toString(16));
document.bgColor="#"+c.substr(c.length-6,6);
/SCRIPT
g.drawOval(0, 0, 36, 36)
第一对坐标是一个能把你做的图形用最小的面积包围起来的矩形 的左上角的坐标,第二对是这个圆(确切的说是椭圆)的长轴和短轴的长度。
g.drawString("1",36, 36);
所画字体从36,36的位置开始,你想把它放进圆中,就要根据字体高、宽来计算圆的位置和大小。
至于
drawPanel.setBorder(BorderFactory.createLineBorder(Color.red));
这句是肯定起了作用的,只不过太快了,你还没反映过来。
在把边框设置为红色后,被你画的圆和字符覆盖了,把
public void paint(Graphics g){
g.drawOval(0, 0, 36, 36);
g.drawString("1",36, 36);
}
}
注释掉,你就能看到了。
不知道最终的目的是什么,但比可以寻求另外的解决方案,如嵌套等。
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
说下思路,不一定对,随机颜色的化,每次随机三个 0到255的数字,组合成一个RGB,应该就可以了,现在的问题是,区分颜色之间的鲜明程度。定义一个阈值A
A= (r1-r2)^2+(g1-g2)^2+(b1-b2)^2 根据这样来计算,每生成一种颜色,就把这种颜色跟其余颜色的阈值计算出来,如果全都满足,那么就可以,如果有一个不满足,那就重新随机生成一次。
A具体的值是多少,这个你可以摸索下,设置太大的化,随机生成的颜色的数量,可能不够,太小的化,颜色的鲜明程度不满足。
实际上,上面A的公式来计算 颜色的鲜明程度 是错误的,不能这样算。