如何使用特定的int值对象进行设置?

时间:2016-12-07 20:38:12

标签: java arrays swing jpanel

我现在正在尝试制作一款受“冒险资本主义”和#34;作为Java的学校项目。我创建了一个包含值(临时,将会改变)的数组,当我按下一个按钮(upgradeButton)时,我想要一个数组/来搜索数组的正确位置到对象的正确位置。

例如,对象3中的5个从15 $(起始值)升级到20 $。我已经尝试过,似乎什么都没有用,我是Java的新手,2016年9月创建了Java。这是我的代码,对它有所了解,它有点乱,但我和#39;一旦我完成所有工作就将它清理干净:) ATM我只使用1个对象才能让它工作,但后来我会用列表等重写。

"投资类"

public class Investments {
public int x, y, bX, bY, bWidth, bHeight, width, height, yLoad, money;
int worth[] = { 10, 20, 30, 40, 50, 60, 70, 80};
float Loading;

//String path;

//boolean ifAdd = false;

GamePanel gp;
Image invest;
ImageIcon investImage = new ImageIcon("images/image.png");

public Investments(int x, int y, int worth, float Loading) {
    this.x = x;
    this.y = y;
    this.Loading = Loading;
    width = 64;
    height = 64;
    yLoad = 0;
    bX = x + 75;
    bY = y + 30;
    bWidth = 60;
    bHeight = 20;
}

JPanel类

    public GamePanel() {
    if (isRunning)
        return;

    //invest = createInvestList(8);
    invest = new Investments(30, 30, 20, 1f);
    moneyButton = new JButton("$$$"); moneyButton.setBounds(175, 61, 55, 20); add(moneyButton); moneyButton.addActionListener(this);
    upgradeButton = new JButton("^"); upgradeButton.setBounds(175, 37, 55, 20); add(upgradeButton); upgradeButton.addActionListener(this);

    this.setBackground(Color.GRAY);
    addMouseListener(this);

    thread = new Thread(this);
    thread.start();
}

JPanel进一步向下,按钮方法

        if(ae.getSource() == upgradeButton){
        //what to do here? perhaps a for loop that scans the array and then attach it to the specific object? 
    }
}

代码非常混乱,是的。如上所述,如果难以阅读/理解,请对其进行清理。正如我之前提到的,从今年9月的Java开始,有点新的,我需要一些帮助,如何获得正确的"值得"到了正确的对象。(值得[i] =对象[3]等)

1 个答案:

答案 0 :(得分:0)

您是否看过使用地图(地图< K,V>)?https://docs.oracle.com/javase/8/docs/api/java/util/Map.html

您可以将对象映射到值(或其他对象)。所以,像这样:

Map<String, Integer> upgradeMap = new HashMap<String, Integer>();
upgradeMap.put("level1", 10);
...
value += upgradeMap.get("level1");