| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 889 人关注过本帖
标题:随机颜色和字体不能表达
只看楼主 加入收藏
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
结帖率:100%
收藏
 问题点数:0 回复次数:9 
随机颜色和字体不能表达

为什么用的随机数不能产生随机颜色和字体 不用随机数了颜色和字体的效果又能显示出来
import java.awt.*;
import javax.swing.*;
public class Char extends JFrame{
int i;
public Char(){
super("Draw characters");
setSize(300,300);
setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
g.setColor(new Color((int)Math.random()*256,(int)Math.random()*256,(int)Math.random()*256));
i = (int)Math.random()*3;
switch(i){
case 0:
g.setFont(new Font("Serif",Font.BOLD,(int)Math.random()*8+12));
break;
case 1:
g.setFont(new Font("Monospaced",Font.ITALIC,(int)Math.random()*8+12));
break;
case 2:
g.setFont(new Font("SansSerif",Font.PLAIN,(int)Math.random()*8+12));
break;
default:
g.setFont(new Font("Serif",Font.ITALIC,(int)Math.random()*8+12));
break;
}
g.drawString("Happy New Year!",100,150);
}
public static void main(String args[]){
Char application = new Char() ;
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

}

搜索更多相关主题的帖子: 字体 随机 颜色 表达 
2007-01-02 12:39
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

主要是括号问题..

import java.awt.*;
import javax.swing.*;
public class Char extends JFrame{
public Char(){
super("Draw characters");
setSize(300,300);
setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
g.setColor(new Color((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256)));
int i = (int)(Math.random()*3);
System.out.println(i);
switch(i){
case 0:
g.setFont(new Font("Serif",Font.BOLD,(int)Math.random()*8+12));
break;
case 1:
g.setFont(new Font("Monospaced",Font.ITALIC,(int)Math.random()*8+12));
break;
case 2:
g.setFont(new Font("SansSerif",Font.PLAIN,(int)Math.random()*8+12));
break;
default:
g.setFont(new Font("Serif",Font.ITALIC,(int)Math.random()*8+12));
break;
}
g.drawString("Happy New Year!",100,150);
}
public static void main(String args[]){
Char application = new Char() ;
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

}


我的msn: myfend@
2007-01-02 13:11
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
收藏
得分:0 
^_^ 谢谢姐姐 一直没注意到那个括号 不过还是不懂为什么不加不可以

fighting!from now on!
2007-01-02 13:39
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
(int)Math.random()*256
如果你不加的话...它会先得到(int)Math.random()...得到0..然后再*255......结果一直..都是0..

我的msn: myfend@
2007-01-02 13:42
编程之王
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-1-1
收藏
得分:0 

楼 上的MM解释的很好,所以以后这种括号问题特别要小心


2007-01-02 13:59
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
收藏
得分:0 
呵呵 谢谢啊 明白了 还想问一下 产生随机字体有没有什么好的方法啊

fighting!from now on!
2007-01-02 14:45
编程之王
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-1-1
收藏
得分:0 
随机字体,就是先把系统的可用字体得到
然后产生它下标之内的随机数,去取下标就行了

Example:

String[] fontNames=java.awt.GraphicsEnvironment.getAvailableFontFamilyNames();//得到本系统的可用字体名
int index=(int)(Math.random*fontNames.length);//产生一个随机的下标

String getName=fontNames[index];

用此名字构造Font就行了

懂么


2007-01-02 18:56
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
收藏
得分:0 
String[] fontNames=java.awt.GraphicsEnvironment.getAvailableFontFamilyNames();
这句不懂,数组在没有长度的条件下就可以用了吗?还有,我也不知道怎么把它放进程序里阿 不知道fontNames这个数组怎么定义

fighting!from now on!
2007-01-02 22:14
阴阳妖瞳
Rank: 1
等 级:新手上路
帖 子:210
专家分:0
注 册:2006-12-5
收藏
得分:0 
汗阿,说实话,我对Swing/awt忘记差不多了,帮不了你什么忙了 sorry yushui MM 不过purana倒是很细心的,我一开始也没发现这个问题

一身转战三千里,一剑曾挡百万师
2007-01-02 22:25
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
以下是引用yushui在2007-1-2 22:14:53的发言:
String[] fontNames=java.awt.GraphicsEnvironment.getAvailableFontFamilyNames();
这句不懂,数组在没有长度的条件下就可以用了吗?还有,我也不知道怎么把它放进程序里阿 不知道fontNames这个数组怎么定义

String[] fontNames=java.awt.GraphicsEnvironment.getAvailableFontFamilyNames();
这句想放哪里就放哪里,随便都能放

数组可以这样定义的,
fontNames就是那样定义


可惜不是你,陪我到最后
2007-01-02 22:30
快速回复:随机颜色和字体不能表达
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017618 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved