| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1210 人关注过本帖
标题:省略号特效--千里冰封速度进来指教,谢谢
只看楼主 加入收藏
tblovecj
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2006-9-20
收藏
 问题点数:0 回复次数:8 
省略号特效--千里冰封速度进来指教,谢谢

请大家看一下我的代码,我的功能是提示用户:请稍候......
主要的目的是希望"......"这省略号动起来,一个一个的动起来,下面是两个方法实现的,主要是想请教利用数组的方法,我用数组实现了功能,但是我在定义数组时是自己手动写死了代码,写死了几个"."的出现,我希望哪位前辈指教一下我如何动态定义这个数组,因为利用数组是我的弱项!谢谢

package org.qhit.syh.tb;

import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

public class ShenYueHao extends JFrame{
private JLabel jl=null;
private Container c;
private String str1="请稍候";

public ShenYueHao(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(null);

jl = new JLabel(str1);
jl.setBounds(50,80,100,200);
c = new Container();
c = getContentPane();
this.c.add(jl);
//启动线程
new DianDian(this).start();

this.setBounds(0,0,800,600);
this.setVisible(true);

}

public JLabel getjl(){
return jl;
}

public static void main(String[] args){
new ShenYueHao();
}
}

class DianDian extends Thread{
ShenYueHao s;
String[] tempstr1={".","..","...","....",".....","......"};

String tempstr="请稍候";

public DianDian(ShenYueHao s){
this.s=s;

}
public void run(){
while(true){

//=====================以下是一个利用数组的方法

for(int i=0;i<tempstr1.length;i++){

s.getjl().setText(tempstr+tempstr1[i]);


System.out.println(s.getjl().getText());
try{
Thread.sleep(100);
} catch(InterruptedException e){
e.getStackTrace();
}
}
//===============================================
//=========================这是一个硬编码的方法,比较死板
// if(s.getjl().getText().equals("请稍候")){
// s.getjl().setText("请稍候"+".");
// }
// else if(s.getjl().getText().equals("请稍候.")){
// s.getjl().setText("请稍候..");
// }
// else if(s.getjl().getText().equals("请稍候..")){
// s.getjl().setText("请稍候...");
// }
// else if(s.getjl().getText().equals("请稍候...")){
// s.getjl().setText("请稍候");
// }
//==============================================
}
}
}

wZyeyBc8.rar (3.66 KB) 省略号特效--千里冰封速度进来指教,谢谢


搜索更多相关主题的帖子: 特效 千里冰封 省略号 速度 指教 
2007-03-20 01:10
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
你可以定义一个int值表示长度,在长度到达之前一直递增,一直增到这个长度为止,然后又把它归为0,然后又每次加一个来附上那个点
明白?

可惜不是你,陪我到最后
2007-03-20 09:20
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
回复:(千里冰封)你可以定义一个int值表示长度,在长...
/*
* WaittingLabel.java
*
* Created on 2007年3月20日, 上午8:58
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package net.bccn.guibuilder;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.Timer;

/**
*
* @author vlinux
*/
public class WaittingLabel extends JLabel implements ActionListener {


private int length = 0; //多少个省略号啊??
private int index = 0; //现在运行到多少个了啊???
private String labelText; //一开始要显示什么标签啊????

/**
* Creates a new instance of WaittingLabel
* labelText 是初始要显示的文字
* length 是省略号的长度
*/
public WaittingLabel(String labelText, int length) {
super(labelText);
this.labelText = labelText;
this.length = length;
index = 0;
new Timer(500, this).start();
}


/**
* 改变初始文字内容
*/
public void setText( String labelText ) {
this.labelText = labelText;
super.setText( labelText );
}


/**
* 按时更改文字
*/
public void actionPerformed(ActionEvent actionEvent) {
if( index++<length ){
super.setText( getText()+"." );
} else {
index = 0;
super.setText( labelText );
}
this.repaint();
}

}


淘宝杜琨
2007-03-20 09:25
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

楼上代码就是那个意思,简单明了


可惜不是你,陪我到最后
2007-03-20 09:48
tblovecj
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2006-9-20
收藏
得分:0 
一头雾水
以下是引用神vLinux飘飘在2007-3-20 9:25:14的发言:
/*
* WaittingLabel.java
*
* Created on 2007年3月20日, 上午8:58
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package net.bccn.guibuilder;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.Timer;

/**
*
* @author vlinux
*/
public class WaittingLabel extends JLabel implements ActionListener {


private int length = 0; //多少个省略号啊??
private int index = 0; //现在运行到多少个了啊???
private String labelText; //一开始要显示什么标签啊????

/**
* Creates a new instance of WaittingLabel
* labelText 是初始要显示的文字
* length 是省略号的长度
*/
public WaittingLabel(String labelText, int length) {
super(labelText);
this.labelText = labelText;
this.length = length;
index = 0;
new Timer(500, this).start();
}


/**
* 改变初始文字内容
*/
public void setText( String labelText ) {
this.labelText = labelText;
super.setText( labelText );
}


/**
* 按时更改文字
*/
public void actionPerformed(ActionEvent actionEvent) {
if( index++<length ){
super.setText( getText()+"." );
} else {
index = 0;
super.setText( labelText );
}
this.repaint();
}

}

说实话,我一直没找到你调用的new timer()这个线程类


2007-03-21 00:11
tblovecj
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2006-9-20
收藏
得分:0 
回复:(神vLinux飘飘)回复:(千里冰封)你可以定义...

不好意思,没找到你代码里的new Timer()线程类


2007-03-21 00:12
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
import javax.swing.Timer;
不是在这里么?

淘宝杜琨
2007-03-21 07:00
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
呵呵

可惜不是你,陪我到最后
2007-03-21 09:50
tblovecj
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2006-9-20
收藏
得分:0 
没这样用过,你那个import是引包吧,咋的就搞到线程上去了哟?

2007-03-24 23:40
快速回复:省略号特效--千里冰封速度进来指教,谢谢
数据加载中...
 
   



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

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