为什么我的程序循环多次? Java Applet

时间:2014-02-28 19:08:09

标签: java loops applet

我正在尝试使用Java创建一个(非常)简单的applet。我是编程及其概念的新手。

import java.awt.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JApplet;

public class EuroCapitalsApplet extends JApplet{

    private Image image = ("Mountain.jpg"));
    String[] mountainArray = new String [14];
    ArrayList<String> arrayList = new ArrayList<String>();
    String mountain;
    Map<String, Object> map = new HashMap<String, Object>();

    public void init()
    {
        mountain=getParameter("citiesToMark");
        mountainArray = cities.split("\\,");
        for(int i = 0; i < mountainArray.length; i++)
        {
           arrayList.add(mountainArray[i]); 
            }
           map.put("Tall", 140);
    }

    public void paint(Graphics g){
           super.paint(g);
           g.drawImage(image, 0, 0, this);
           if(mountainList.get(0).equals("Tall")){
               System.out.println("Hello");
           }
    }
}

我已将"Hello"语句放在那里只是为了看看它打印出来的次数 - 它目前打印出23次我想要打印出来的次数只是我不知道我做错了什么我花了一段时间才能做到这一点。

我不仅仅了解loops我在这里以及Youtube上的视频所阅读的内容。有人可以请我朝正确的方向努力吗?我对一些HTMLCSS提供了很少的经验。

2 个答案:

答案 0 :(得分:1)

每次更改时都会调用paint方法,这可能包括窗口大小调整,最小化等等.paint方法应该几乎没有逻辑,因为它会大大减慢applet的速度。< / p>

答案 1 :(得分:0)

每次applet刷新时,都会调用paint方法...考虑在几秒钟内可以调用它数百次。

你应该只使用负责渲染图形的方法,并且执行时间可能很短。

看看这个: http://docs.oracle.com/javase/tutorial/uiswing/painting/closer.html

P.S你无法确切地知道油漆方法有多少次上墨,所以不要放在应用程序逻辑中。