java se 编写一个Java Applet程序,在Applet内部现实一个蓝色反弹球的程序。通过mousePressed时间使该球开始运动,当球撞击Applet边框时,它应从边框弹回并以相反的方向运动。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.applet.Applet;import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.util.ArrayList;import java.util.List;import java.awt.*;import java.awt.event.*;import java.awt.Graphics;public class Main extends Applet implements Runnable,MouseListener{ int x = 60, y = 100; int dx = 5, dy = 5; int rgb = 0; Color color = new Color((int)(Math.random() * 0xFFFFFF)); public static void main(String[] args) { new Main(); } public Main(){ setSize(350, 350); setBackground(Color.gray); this.addMouseListener(this); this.setLayout(null); setVisible(true); } public void doColor() { rgb = (int)(Math.random()*0xFFFFFF); color = new Color(rgb); } public void run() { while (true) { if (x <= 0) { dx = -dx; dy = -dy; doColor(); }else if ((x + 50) >= this.getWidth()) { dx = -dx; dy = -dy; doColor(); } if (y <= 0) { dx = -dx; dy = -dy; doColor(); }else if ((y + 50) >= this.getHeight()){ dx = -dx; dy = -dy; doColor(); } x = x + dx; y = y + dy; try { Thread.sleep(50); repaint(); } catch (InterruptedException e) { e.printStackTrace(); } } } public void paint(Graphics g) { Color c = g.getColor(); g.setColor(color); g.fillOval(x, y, 50, 50); g.setColor(c); } @Override public void mouseClicked(MouseEvent e) { } @Override public void mousePressed(MouseEvent e){ System.out.print(this); new Thread(this).start(); } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent e) { }}仅供参考。 try again 能否解释哈为甚么这个接口没有写成适配器,我刚才写成了内部类的形式之后new Thread(this).start();报错为甚么?先谢过了 可以啊。多写一个类文件就是了,只是我那种,extends只能继承一个父类。 内部类监听的时候,this.addMouseListener(this)中第二个this报错,还有内部类中不能有new Thread(this).start(this);不能启动线程 this指的是当前对象,你都写了内部类了,不能用this.就应该是这样的。this.addMouseListener(this.new 内部类名());东西别学死了。什么是对象你有点混淆。照你这样要求继承MouseAdapter就完美了?写成实现MouseListener就可以了。别把学习的重点搞反了。 import java.applet.Applet;import java.awt.Color;import java.awt.Graphics;import java.awt.event.MouseEvent;import java.awt.event.*;public class Main extends Applet implements Runnable{ int x = 60, y = 100; int dx = 5, dy = 5; int rgb = 0; Color color = new Color((int)(Math.random() * 0xFFFFFF)); final Thread moveThread;//加final public static void main(String[] args) { new Main(); } public Main(){ moveThread = new Thread(this); setSize(350, 350); setBackground(Color.gray); this.addMouseListener(new MouseAdapter(){ @Override public void mousePressed(MouseEvent e) { System.out.println(moveThread.getState().toString()); if(moveThread.getState().equals(Thread.State.NEW)){ moveThread.start(); } } }); this.setLayout(null); setVisible(true); } public void doColor() { rgb = (int)(Math.random()*0xFFFFFF); color = new Color(rgb); } public void run() { while (true) { if (x <= 0) { dx = -dx; doColor(); }else if ((x + 50) >= this.getWidth()) { dx = -dx; doColor(); } if (y <= 0) { dy = -dy; doColor(); }else if ((y + 50) >= this.getHeight()){ dy = -dy; doColor(); } x = x + dx; y = y + dy; try { Thread.sleep(50); repaint(); } catch (InterruptedException e) { e.printStackTrace(); } } } public void paint(Graphics g) { Color c = g.getColor(); g.setColor(color); g.fillOval(x, y, 50, 50); g.setColor(c); }} JTabbedPane上添加JPanel为何不显示??? java反射问题 高手来 各位救救我 因为这个问题我现在没法编写程序了!!很着急!! jvm牛人请进,关于Cache的问题 如何用Java读取MP3文件的Tag信息? 关于变量的声明. 用applet的repaint()方法能完全消除闪烁???? 高薪急诚聘家庭兼职、大学生兼职、办公室兼职、计算机兼职----人人都适合! 使用JBUILDER7.0怎样建立与SQL数据库连结 jdbc链接oracle,查询数据时出错 关于包中的类的导入问题,求助~~~~谢谢 java打开mdb数据库,是java显示数据库里面的表
import java.applet.Applet;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.List;import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;public class Main extends Applet implements Runnable,MouseListener{
int x = 60, y = 100;
int dx = 5, dy = 5;
int rgb = 0;
Color color = new Color((int)(Math.random() * 0xFFFFFF)); public static void main(String[] args) {
new Main();
} public Main(){
setSize(350, 350);
setBackground(Color.gray);
this.addMouseListener(this);
this.setLayout(null);
setVisible(true);
} public void doColor() {
rgb = (int)(Math.random()*0xFFFFFF);
color = new Color(rgb);
} public void run() {
while (true) {
if (x <= 0) {
dx = -dx;
dy = -dy;
doColor();
}else if ((x + 50) >= this.getWidth()) {
dx = -dx;
dy = -dy;
doColor();
}
if (y <= 0) {
dx = -dx;
dy = -dy;
doColor();
}else if ((y + 50) >= this.getHeight()){
dx = -dx;
dy = -dy;
doColor();
}
x = x + dx;
y = y + dy;
try {
Thread.sleep(50);
repaint();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public void paint(Graphics g) {
Color c = g.getColor();
g.setColor(color);
g.fillOval(x, y, 50, 50);
g.setColor(c);
}
@Override
public void mouseClicked(MouseEvent e) {
} @Override
public void mousePressed(MouseEvent e){
System.out.print(this);
new Thread(this).start();
} @Override
public void mouseReleased(MouseEvent e) {
} @Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
} @Override
public void mouseExited(MouseEvent e) {
}
}
仅供参考。
内部类监听的时候,this.addMouseListener(this)中第二个this报错,还有内部类中不能有new Thread(this).start(this);不能启动线程
this.addMouseListener(this.new 内部类名());
东西别学死了。什么是对象你有点混淆。照你这样要求继承MouseAdapter就完美了?写成实现MouseListener就可以了。别把学习的重点搞反了。
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.*;public class Main extends Applet implements Runnable{
int x = 60, y = 100;
int dx = 5, dy = 5;
int rgb = 0;
Color color = new Color((int)(Math.random() * 0xFFFFFF));
final Thread moveThread;//加final
public static void main(String[] args) {
new Main();
} public Main(){
moveThread = new Thread(this);
setSize(350, 350);
setBackground(Color.gray);
this.addMouseListener(new MouseAdapter(){
@Override
public void mousePressed(MouseEvent e) {
System.out.println(moveThread.getState().toString());
if(moveThread.getState().equals(Thread.State.NEW)){
moveThread.start();
}
}
});
this.setLayout(null);
setVisible(true);
} public void doColor() {
rgb = (int)(Math.random()*0xFFFFFF);
color = new Color(rgb);
} public void run() {
while (true) {
if (x <= 0) {
dx = -dx;
doColor();
}else if ((x + 50) >= this.getWidth()) {
dx = -dx;
doColor();
}
if (y <= 0) {
dy = -dy;
doColor();
}else if ((y + 50) >= this.getHeight()){
dy = -dy;
doColor();
}
x = x + dx;
y = y + dy;
try {
Thread.sleep(50);
repaint();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public void paint(Graphics g) {
Color c = g.getColor();
g.setColor(color);
g.fillOval(x, y, 50, 50);
g.setColor(c);
}
}