重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
加入
在河南等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、成都网站建设 网站设计制作按需策划,公司网站建设,企业网站建设,品牌网站设计,网络营销推广,成都外贸网站建设,河南网站建设费用合理。
public void init()
{
new Thread(this).start();
}
这个是Applet生命周期中的初始化调用,这里启用线程即可。
删除public static void main(String[] args) {
new Thread(new RollWords()).start();
},这个没用,Applet不用main执行,而是用appletViewer或者浏览器执行。
窗口标题的滚动, 就是文字的定期更换, javax.swing.Timer 就可以定期执行
效果如图
完整代码
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.Timer;
public class MyFrame extends JFrame {
//标题文字
public String title = "总要有些随风,有些入梦,有些长留在心中~~~";
//记录显示在标题上的第一个文字,在title中的文字
int index = 0;
// 构造函数
public MyFrame() {
setTitle(title);// 窗口标题
setSize(300, 200);// 窗口大小 宽300 高200
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 当窗口关闭时,程序结束
//创建1个定时器, 每500毫秒执行1次
Timer t = new Timer(500, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
index++;
if (index = title.length()) {
index = 0;
}
//标题栏要显示的字符
String str = title.substring(index, title.length()) + title.substring(0, index);
setTitle(str);//设置标题文字
}
});
t.start();//启动定时器,去定期执行任务
}
// main函数
public static void main(String[] args) {
MyFrame frame = new MyFrame();// 创建窗口
frame.setVisible(true);// 让该窗口实例可见
}
}
是用java Applet 么?
我试着写了个,估计代码不是很简, 你看看是不是这种效果:坐标自己可以去调整下,名字从上到下移动,从上到中间的时候变大,过了中间逐渐变小,过了底部显示下一个名字,循环显示,题意应该没理解错吧
import java.applet.*;
import java.awt.*;
public class ShowName extends Applet
{
String names[]=new String[]{"luojian","qianhongcheng","fenglingxin","luoxiaojian","wangyin"};
int size=20;
int index =0;
int offsetY=20;
int size1 =size;
int size2 =size-10;
int size3 =size-20;
int name1Y =0+offsetY;
int name2Y =-40+offsetY;
int name3Y =-80+offsetY;
int name1Index =index;
int name2Index =index+1;
int name3Index =index+2;
public void init()
{
resize(400,400);
setVisible(true);
}
public void paint(Graphics g)
{
try
{
checkName("name1Index",name1Y);
checkName("name2Index",name2Y);
checkName("name3Index",name3Y);
String name1 =names[name1Index];
String name2 =names[name2Index];
String name3 =names[name3Index];
name1Y=checkY(name1Y);
name2Y=checkY(name2Y);
name3Y=checkY(name3Y);
size1=checkSize(name1Y,size1);
size2=checkSize(name2Y,size2);
size3=checkSize(name3Y,size3);
Font font1 = new Font(null,Font.PLAIN,size1);
Font font2 = new Font(null,Font.PLAIN,size2);
Font font3 = new Font(null,Font.PLAIN,size3);
g.setFont(font1);
g.drawString(name1, 100, name1Y);
g.setFont(font2);
g.drawString(name2, 100, name2Y);
g.setFont(font3);
g.drawString(name3, 100, name3Y);
Thread.sleep(300);
}
catch(Exception e)
{
e.printStackTrace();
}
repaint();
}
public int checkSize(int p,int psize)
{
if(p200)
psize =psize+10;
if(p200)
psize =psize-10;
if(p=400)
psize =size-20;
return psize;
}
public int checkY(int p)
{
if(p=400)
p=-80;
else
p=p+40;
return p;
}
public void checkName(String nameindex,int p)
{
if(p=400)
{
if(nameindex.equals("name1Index"))
{
if(name1Index4)
name1Index++;
else
name1Index =index;
}
if(nameindex.equals("name2Index"))
{
if(name2Index4)
name2Index++;
else
name2Index =index;
}
if(nameindex.equals("name3Index"))
{
if(name3Index4)
name3Index++;
else
name3Index =index;
}
}
}
}
java里面有一个叫做Timer的东西
代码找到了:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
////////////////////////////////////////////////////////////
public class AnimationDemo extends JFrame{
AnimationDemo(){
add(new MPanel("我是要移动的文字"));
}
////////////////////////////////////////////////////////////
public static void main(String[] args){
JFrame frame=new AnimationDemo();
frame.setTitle("AnimationDemo");
frame.setSize(280, 100);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
/////////////////////////////////////////////////////////////
static class MPanel extends JPanel{
private String message="welcome to java!";
private int xZuoBiao=0;
private int yZuoBiao=30;
//...........................................................
public MPanel(String message){
this.message=message;
Timer timer=new Timer(100,new TimerListener());
timer.start();
}
//............................................................
protected void paintComponent(Graphics g){
super.paintComponent(g);
if(xZuoBiaogetWidth()){
xZuoBiao=-20;
}
xZuoBiao+=10;
g.drawString(message, xZuoBiao, yZuoBiao);
}
//.............................................................
class TimerListener implements ActionListener{
public void actionPerformed(ActionEvent e){
repaint();
}
}
}
}