初学java,请各位大侠帮忙 要求用多线程实现两个分开的滚动字幕,觉得可以用graphics实现移动的字幕,但具体实现不会,求教各位大虾~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建一线程来负责滚动,把graphics传给它,run()写一死循环,大致如下while(true){ g.drawString(str,x,y); x=(x+步子)%滚动宽度; //左右滚动 或者y=(y+步子)%滚动宽度 //上下滚动 sleep(适当的时间)}也可以用时钟来控制。试试吧,这个不难的,有什么问题再说,我今晚有空,尽量帮你解决 首先很感谢二楼,但由于学校11点断电,拖到今天才回复,再次说声抱歉~以下是我自己写的代码,但无法实现想要的功能,希望各位帮忙指正package five;import java.awt.*;import java.awt.event.*;class myCanvas extends Canvas implements Runnable{ int x; Graphics g; myCanvas(Graphics g) { this.g=g; } public void run() { while(true) { try{ this.repaint(); Thread.sleep(60);} catch(Exception e) { e.printStackTrace(); } } } public void paint(Graphics g) { g.setColor(Color.WHITE); g.drawRect(10, 30, 150, 100); //g.setColor(Color.WHITE); //g.fillRect(10, 30, 150, 100); g.setColor(Color.RED); g.drawString("Hello Java", x,100); if(x>400) x=0; x=x+3; }}public class Title{ public static void main(String[] args) { Frame f=new Frame("title"); f.setLocation(100,100); f.setBackground(Color.white); f.setBounds(100,100,400,400); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); f.setVisible(true); myCanvas mc=new myCanvas(f.getGraphics()); new Thread(mc).start(); }} TextArea更改字体大小,样式 java.lang.NullPointerException 关于一个算法 按钮的显示 java实现的快速排序,看不太懂,请人帮忙注释一下 jbuilder有没有格式化已有代码格式的快捷键? 帮忙看看为什么有错误,谢谢 真是一点也不懂,一个很简单的问题。 为什么总有人骂Microsoft的东西烂 Applet与网页的实时通讯问题 求好用的文件比对工具 求教,怎么用那个正则表达式解决
while(true){
g.drawString(str,x,y);
x=(x+步子)%滚动宽度; //左右滚动
或者y=(y+步子)%滚动宽度 //上下滚动
sleep(适当的时间)
}
也可以用时钟来控制。试试吧,这个不难的,有什么问题再说,我今晚有空,尽量帮你解决
以下是我自己写的代码,但无法实现想要的功能,希望各位帮忙指正
package five;
import java.awt.*;
import java.awt.event.*;class myCanvas extends Canvas implements Runnable
{
int x;
Graphics g;
myCanvas(Graphics g)
{
this.g=g;
}
public void run()
{
while(true)
{
try{
this.repaint();
Thread.sleep(60);}
catch(Exception e)
{
e.printStackTrace();
}
}
}
public void paint(Graphics g)
{
g.setColor(Color.WHITE);
g.drawRect(10, 30, 150, 100);
//g.setColor(Color.WHITE);
//g.fillRect(10, 30, 150, 100);
g.setColor(Color.RED);
g.drawString("Hello Java", x,100);
if(x>400)
x=0;
x=x+3;
}
}
public class Title
{
public static void main(String[] args)
{
Frame f=new Frame("title");
f.setLocation(100,100);
f.setBackground(Color.white);
f.setBounds(100,100,400,400);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setVisible(true);
myCanvas mc=new myCanvas(f.getGraphics());
new Thread(mc).start();
}
}