java的问题

编写一个applet程序,显示字符串changzheng,每个字符颜色随机产生,水的滚一边去... 编写一个applet程序,显示字符串chang zheng,每个字符颜色随机产生,水的滚一边去 展开
 我来答
雪飞潇潇
2018-12-05 · TA获得超过6275个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:866万
展开全部

思路分析:

一: 字符串可以进行拆分成单个的字符.然后针对单个的字符设置颜色,然后通过drawString方法绘制在小程序上

g.drawString(str,x,y);//str字符串,x,y代表位置

二:也可以利用SWING组件支持 简单的HTML标记.把每个字符串分别设置颜色

三:关于颜色的获取. rgb颜色就是设置 红绿蓝 三色的数值,通过三种颜色的数值不同搭配得到不同的颜色;  也就是把随机颜色的问题,转换成了随机3个数字的问题. 

写了两种实现方法的参考代码

import java.applet.*;
import java.awt.*;

public class ShowTextApp extends Applet {
static final String str="chang zheng" ;

public void paint(Graphics g){
super.paint(g);
g.setFont(new Font(Font.MONOSPACED, Font.BOLD, 30));//设置字体为MONOSPACED,字体加粗,字号30
int x=10,y=50;//设置绘字的x和y坐标
for (int i = 0; i < str.length(); i++) {
String s= str.charAt(i)+"";
g.setColor(getRandomColor());
g.drawString(s, x+=15, y);//绘制文字,并且下一个字的位置就往后移动15个单位
}
}

//得到一种随机的颜色
//Color的构造器传入3个[0,255]的数字就可以了
private Color getRandomColor() {
return new Color((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256));
}
}

第二种参考代码

import java.applet.Applet;
import javax.swing.JLabel;

public class ShowTextApp2 extends Applet {
static final String str="chang zheng" ;
@Override
public void init() {
//通过拼接HTML代码来呈现
StringBuffer sbf=new StringBuffer("<html><body>");
for (int i = 0; i < str.length(); i++) {
sbf.append("<span style='font-size:20;color:"+getStrColor()+"'>"+str.charAt(i)+"</span>");
}
sbf.append("</body></html>");
add(new JLabel(sbf.toString()));//注意这里是JLabel ,因为Swing组件支持简单的HTML代码
}

//返回一个随机的颜色值    类似于 "rgb(215,186,70)"
private String getStrColor() {
return "rgb("+(int)(Math.random()*256)+","+(int)(Math.random()*256)+","+(int)(Math.random()*256)+")";
}
}
microroom
科技发烧友

2018-12-05 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1608万
展开全部
import javax.swing.*;
import java.awt.*;
import java.util.*;

public class AppletTest extends JApplet
{
public void paint(Graphics g)
{
for(int i=0;i<s.length();i++)
{
cr=rm.nextInt(256);
cg=rm.nextInt(256);
cb=rm.nextInt(256);
g.setFont(f);
c=new Color(cr,cg,cb);
g.setColor(c);
w=(int)g.getFontMetrics().getStringBounds(s,0,i,g).getWidth();
g.drawString(String.valueOf(s.charAt(i)),x+w,y);
}
}
Random rm=new Random(Calendar.getInstance().getTimeInMillis());
String s="changzheng";
Font f=new Font("宋体",Font.BOLD,81);
Color c;
int x=20,y=200,w=40,cr,cg,cb;
}
追答

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mengchuangye
2018-12-05 · TA获得超过143个赞
知道答主
回答量:268
采纳率:10%
帮助的人:24万
展开全部
753
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lov成龙520
2018-12-05 · 贡献了超过159个回答
知道答主
回答量:159
采纳率:5%
帮助的人:12.1万
展开全部
①改善措施要有针对性。既要全面,又要有重点;既要全面提升自己,又要分清轻重缓急,对于职业生涯发展的短板或缺口要必须补、抓紧补、及时补、重点补,注意排出顺序,分步解决。②改善措施要合理可行。对于自己的差距,要积极改进,不能急于求成;要难易适度,不能不切实际;要量体裁衣,不能好高骛远。③改善措施要具体、明确。因为是要马上落实、立即执行的措施,所以应该是可操作的、有指标的、易量化的具体措施。④改善措施要有一定的弹性或缓冲性。在制定改善措施时,要考虑到环境和自身条件。在制定主要措施的同时,可为自己制定备选方案,使实施过程能应对自身和环境的变化,及时做出灵活调整。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式