這可能是一個愚蠢的問題,但我在思考這個問題時遇到了困難。使用LinkedList實現下一個和上一個按鈕
我寫了一個方法,它使用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<Instrument> currentInstrument = new LinkedList<Instrument>();
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();
}
在此先感謝你們!
爲什麼鏈表?一個ArrayList和記住當前索引似乎更容易(特別是因爲你已經有你的儀器在一個數組中)。 – Thilo 2012-04-24 02:02:36
我需要使用數據結構,並且我熟悉鏈表,但是我不知道Java有ArrayLists。 – FireStorm 2012-04-24 02:10:36