我在eclipse中建了一个工程,下面建了一个包,里面有几个程序,现在我只要一运行
就是这个程序在执行,我同一个包下的另一个程序,是我复制的这个程序,我想修改一下并测试一下,然后发现一直都运行的第一个代码的效果,是因为同一个包下面只会有一个主方法main吗?还是什么,不是很懂
package GameFram;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class TextFrame extends Frame{
Image image = GameUtil.getImage("Image/sun.jpg");
/**
* 画面加载
*/
public void LoadFrame() {
setBounds(200, 200, 500, 500);
setVisible(true);
new PaintThread().start();
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
}
);
}
private double x=100,y=100;
private boolean left = true;
private boolean up = true;
@Override
public void paint(Graphics g) {
//System.out.println("paint"); //repaint相当于执行这个paint
Color c = g.getColor();
g.drawLine(200, 100, 200, 200);
g.setColor(Color.blue);
g.drawRect(300, 200, 150, 130);
Font f = new Font("宋体",Font.BOLD,200);//要set进去才行
g.setFont(f);
g.drawOval(200, 100, 200, 200);
g.drawString("DDDDD", 200, 200);
g.drawImage(image, (int)x, (int)y, null);
if(left) {
x += -10;
}else {
x+=10;
}
if(x<0) {
left=false;
}else if(x>500-30)
left=true;
}
/**
* 重画线程类
* @author
*
*/
class PaintThread extends Thread {
public void run() {
while(true) {
repaint();//重画
try {
Thread.sleep(40); //1s = 1000ms
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
TextFrame tf = new TextFrame();
tf.LoadFrame();
}
}
我外部类的名字是改了的,也就是在之前那个包下面重新建了一个类,除了外部类的类名我改了,其他都是复制过来的,然而运行的结果还是之前的结果