这可能是一个愚蠢的问题,但我很难想到这一点.
我写了一个方法,使用LinkedList来移动加载的MIDI乐器.我想制作下一个和上一个按钮,以便每次单击按钮时都会遍历LinkedList.
如果我硬编码itr.next();或者itr.previous();多次我可以遍历LinkedList
public void setInsturment(Synthesizer start,MidiChannel currentChannel[])
{
try
{
start.open();
Soundbank bank = start.getDefaultSoundbank();
start.loadAllInstruments(bank);
LinkedList currentInstrument = new LinkedList();
Instrument instrs[] = start.getLoadedInstruments();
currentInstrument.add(instrs[0]);
currentInstrument.add(instrs[1]);
currentInstrument.add(instrs[2]);
currentInstrument.add(instrs[3]);
currentInstrument.add(instrs[4]);
ListIterator itr = currentInstrument.listIterator();
itr.next();
itr.next();
itr.next();
// nextInstrument();
currentChannel[1].programChange(0,itr.nextIndex());
}
catch(MidiUnavailableException e)
{
System.out.print("error");
}
}
制作一个可以遍历列表的按钮我遇到了很多麻烦.有没有一种有效的方法来做到这一点?我尝试过这样的事情没有成功.
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == nextButton)
{
sound.nextInstrument();
}
public void nextInstrument()
{
itr.next();
}
先谢谢你们!