怎样实现字体滚动,用JAVA语言写得? 又来让高手帮忙了, 哈哈!怎样让字体在窗体上从左到右或从右到左滚动呢? 是不是要计算啊 ?请指点,最好把代码写出来!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package je.test;//creater:Reindeer 2008-04-22import javax.swing.*;public class TextMove{ JLabel lab; int i; String str; public TextMove() { JFrame frame = new JFrame("TextMove"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400,200); str = "I'm moving..."; lab = new JLabel(str); frame.add(lab); frame.setVisible(true); i=0; while(true) { str = " "+str; try { Thread.sleep(1000); lab.setText(str); } catch(InterruptedException e) { } } } public static void main(String args[]) { new TextMove(); }} 高手!正在学习中,各位大虾都来java专用群6188536 //creater:Reindeer 2008-04-22import javax.swing.*;public class TextMove{ JLabel lab; int i; String str; public TextMove() { JFrame frame = new JFrame("TextMove"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400,200); str = "I'm moving . . ."; String str2 = ""; lab = new JLabel(str); frame.add(lab); frame.setVisible(true); i=0; while(true) { str2 += " "; try { Thread.sleep(1000); //String str2 = null; for(i=0; i<= str.length(); i++) { Thread.sleep(20); lab.setText(str2 + str.substring(0,i)); } } catch(InterruptedException e) { } } } public static void main(String args[]) { new TextMove(); }}连续显示。呵呵学习啊。 import java.awt.*;import java.awt.event.*;import javax.swing.*;public class WelcomeJFrame extends JFrame{ private JDialog dialog; private JLabel label_dialog; public WelcomeJFrame(String[] texts) { super("滚动字"); this.setSize(400,300); this.setLocation(300,240); this.setDefaultCloseOperation(EXIT_ON_CLOSE); if(texts==null||texts.length==0) this.add(new RollbyJPanel("Welcome!")); else { this.setLayout(new GridLayout(texts.length,1)); for(int i=0;i<texts.length;i++) this.add(new RollbyJPanel(texts[i])); } this.setVisible(true); dialog=new JDialog(this,"提示",true); dialog.setSize(240,80); label_dialog=new JLabel("",JLabel.CENTER); dialog.add(label_dialog); dialog.setDefaultCloseOperation(HIDE_ON_CLOSE); } public WelcomeJFrame() { this(null); } private class RollbyJPanel extends JPanel implements ActionListener,Runnable { private JTextField text_word,text_sleep; private JButton button_start,button_interrupt; private JTextField text_state; private Thread thread_rollby; private int sleeptime; private RollbyJPanel(String text) { this.setLayout(new GridLayout(2,1)); for(int i=0;i<100;i++) text=text+""; text_word=new JTextField(text); this.add(text_word); JPanel panel_sub=new JPanel(new FlowLayout(FlowLayout.LEFT)); this.add(panel_sub); panel_sub.add(new JLabel("sleep")); this.sleeptime=(int)(Math.random()*100); text_sleep=new JTextField(""+sleeptime,5); panel_sub.add(text_sleep); text_sleep.addActionListener(this); button_start=new JButton("启动"); panel_sub.add(button_start); button_start.addActionListener(this); button_interrupt=new JButton("中断"); panel_sub.add(button_interrupt); button_interrupt.addActionListener(this); thread_rollby=new Thread(this); button_interrupt.setEnabled(false); panel_sub.add(new JLabel("state")); text_state=new JTextField(""+thread_rollby.getState(),10); text_state.setEditable(false); panel_sub.add(text_state); } public void run() { while(thread_rollby.isAlive()&&!thread_rollby.isInterrupted()) { try { String str=text_word.getText(); str=str.substring(1)+str.substring(0,1); text_word.setText(str); thread_rollby.sleep(sleeptime); } catch(InterruptedException e) { break; } } } public void actionPerformed(ActionEvent e) { if(e.getSource()==button_start) { thread_rollby=new Thread(this); thread_rollby.start(); text_state.setText(""+thread_rollby.getState()); button_start.setEnabled(false); button_interrupt.setEnabled(true); } if(e.getSource()==button_interrupt) { thread_rollby.interrupt(); text_state.setText(""+thread_rollby.getState()); button_start.setEnabled(true); button_interrupt.setEnabled(false); } if(e.getSource()==text_sleep) { try { sleeptime=Integer.parseInt(text_sleep.getText()); } catch(NumberFormatException nfe) { label_dialog.setText("\""+text_sleep.getText()+"\" 不能转换成整数,请重新输入!"); dialog.setLocation(this.getX()+100,this.getY()+100); dialog.setVisible(true); } } } } public static void main(String arg[]) { String[] texts={"Welcome","Hello","Rollby"}; new WelcomeJFrame(texts); }} if(texts==null ¦ ¦texts.length==0) 这句话报错。 Java文件编码 窗口初始化 JDIC 问题请高手指教! Java中,为什么外部类可以访问内部类的私有成员? 我在contentpane中加入一个控件,然后改变它的位置,当再次加入另外一个新控件时,以前那个控件的位置恢复到初始值 关于在SWING打开IE浏览器 java有没有类似.net下dataset那样的数据结构? <请教如何把IP地址转为主机名,焦急等待中...请高手帮忙> 各位帮忙看看,很奇怪? 关于Java嵌入式开发的几个问题 JMF捕捉摄像头视频显示的时候,如何调整它的分辨率? ~help!请问java API文档字段摘要怎么用
package je.test;
//creater:Reindeer 2008-04-22
import javax.swing.*;public class TextMove
{
JLabel lab;
int i;
String str;
public TextMove()
{
JFrame frame = new JFrame("TextMove");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,200);
str = "I'm moving...";
lab = new JLabel(str);
frame.add(lab);
frame.setVisible(true);
i=0;
while(true)
{
str = " "+str;
try
{
Thread.sleep(1000);
lab.setText(str);
}
catch(InterruptedException e)
{
}
}
}
public static void main(String args[])
{
new TextMove();
}
}
import javax.swing.*;public class TextMove
{
JLabel lab;
int i;
String str;
public TextMove()
{
JFrame frame = new JFrame("TextMove");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,200);
str = "I'm moving . . .";
String str2 = "";
lab = new JLabel(str);
frame.add(lab);
frame.setVisible(true);
i=0;
while(true)
{
str2 += " ";
try
{
Thread.sleep(1000);
//String str2 = null;
for(i=0; i<= str.length(); i++)
{
Thread.sleep(20);
lab.setText(str2 + str.substring(0,i));
}
}
catch(InterruptedException e)
{
}
}
}
public static void main(String args[])
{
new TextMove();
}
}连续显示。呵呵学习啊。
import java.awt.event.*;
import javax.swing.*;
public class WelcomeJFrame extends JFrame
{
private JDialog dialog;
private JLabel label_dialog;
public WelcomeJFrame(String[] texts)
{
super("滚动字");
this.setSize(400,300);
this.setLocation(300,240);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
if(texts==null||texts.length==0)
this.add(new RollbyJPanel("Welcome!"));
else
{
this.setLayout(new GridLayout(texts.length,1));
for(int i=0;i<texts.length;i++)
this.add(new RollbyJPanel(texts[i]));
}
this.setVisible(true);
dialog=new JDialog(this,"提示",true);
dialog.setSize(240,80);
label_dialog=new JLabel("",JLabel.CENTER);
dialog.add(label_dialog);
dialog.setDefaultCloseOperation(HIDE_ON_CLOSE);
}
public WelcomeJFrame()
{
this(null);
}
private class RollbyJPanel extends JPanel implements ActionListener,Runnable
{
private JTextField text_word,text_sleep;
private JButton button_start,button_interrupt;
private JTextField text_state;
private Thread thread_rollby;
private int sleeptime;
private RollbyJPanel(String text)
{
this.setLayout(new GridLayout(2,1));
for(int i=0;i<100;i++)
text=text+"";
text_word=new JTextField(text);
this.add(text_word);
JPanel panel_sub=new JPanel(new FlowLayout(FlowLayout.LEFT));
this.add(panel_sub);
panel_sub.add(new JLabel("sleep"));
this.sleeptime=(int)(Math.random()*100);
text_sleep=new JTextField(""+sleeptime,5);
panel_sub.add(text_sleep);
text_sleep.addActionListener(this);
button_start=new JButton("启动");
panel_sub.add(button_start);
button_start.addActionListener(this);
button_interrupt=new JButton("中断");
panel_sub.add(button_interrupt);
button_interrupt.addActionListener(this);
thread_rollby=new Thread(this);
button_interrupt.setEnabled(false);
panel_sub.add(new JLabel("state"));
text_state=new JTextField(""+thread_rollby.getState(),10);
text_state.setEditable(false);
panel_sub.add(text_state);
}
public void run()
{
while(thread_rollby.isAlive()&&!thread_rollby.isInterrupted())
{
try
{
String str=text_word.getText();
str=str.substring(1)+str.substring(0,1);
text_word.setText(str);
thread_rollby.sleep(sleeptime);
}
catch(InterruptedException e)
{
break;
}
}
} public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button_start)
{
thread_rollby=new Thread(this);
thread_rollby.start();
text_state.setText(""+thread_rollby.getState());
button_start.setEnabled(false);
button_interrupt.setEnabled(true);
}
if(e.getSource()==button_interrupt)
{
thread_rollby.interrupt();
text_state.setText(""+thread_rollby.getState());
button_start.setEnabled(true);
button_interrupt.setEnabled(false);
}
if(e.getSource()==text_sleep)
{
try
{
sleeptime=Integer.parseInt(text_sleep.getText());
}
catch(NumberFormatException nfe)
{
label_dialog.setText("\""+text_sleep.getText()+"\" 不能转换成整数,请重新输入!");
dialog.setLocation(this.getX()+100,this.getY()+100);
dialog.setVisible(true);
}
}
}
}
public static void main(String arg[])
{
String[] texts={"Welcome","Hello","Rollby"};
new WelcomeJFrame(texts);
}
}