数组上找不到源

时间:2014-04-22 02:19:28

标签: java

这就是我的意思:

此课程延伸 JPanel和其他人一样。构造函数有两个参数:控制器和轨道数。你不应该将它们存储在成员变量中所有这些都在构造函数中: 将布局设置为null。 将numTracks SoundNameBox实例存储在成员变量数组中,其中numTracks是轨道数。这意味着你需要有一个循环,每次循环创建一个SoundNameBox实例。曲目编号范围从0到numTracks -1。确保它们之间存在Tracks.GAP_SIZE大小的差距。设置此SoundBank的大小,使其只包含SoundNameBox实例。

我之前必须创建一个类似的类并且它工作正常,但是这个没有显示它应该的框,当我尝试调试它时它说我在分配数组时找不到源成员变量。

这是我的代码:

package view;

import javax.swing.JPanel;

import controller.Controller;

public class SoundBank extends JPanel { 

    public SoundNameBox[] _track;

    public SoundBank(Controller controller, int numTracks) {
        setLayout(null);
        _track = new SoundNameBox[numTracks];
        int y = 0;
        for(int i = 0; i < numTracks; i++) {
            _track[i] = new SoundNameBox(controller, i);
            _track[i].setLocation(0,y);
            y = y + Tracks.GAP_SIZE;
        }
        this.setSize(Tracks.GAP_SIZE*numTracks, Tracks.GAP_SIZE*numTracks);
    }

    public void setSoundName(int numTrack, String name) {
        _track[numTrack].setText(name);
    }
}

1 个答案:

答案 0 :(得分:1)

实例化后,您还需要add SoundNameBox对象JPanel

将它放在构造函数的循环

this.add(_track[i]);
祝你好运