Его программа beatBox с 256 checkBoxes и сделать трек и запустить его. С запуском, остановкой, loadTrack и saveTrack. Когда мы нажимаем кнопку «Пуск», он перебирает все флажки и записывает их. Ниже приведен код, который восстанавливает значения checkBoxes, через JFileChooser и FileInput Stream.Восстановление шаблона в ArrayList из CheckBox?
void buildAndStartTrack(){
ArrayList checkBoxList = new ArrayList<JCheckBox>();
for (int i=0; i<256; i++)
{
JCheckBox c = new JCheckBox();
c.setSelected(false);
checkBoxList.add(c);
mainPanel.add(c);
} // end loop
}
//here some more code to maketracks and start sequencer
}
public class MyObjectLoadListener implements ActionListener{
public void actionPerformed(ActionEvent event)
{
JFileChooser fileLoad = new JFileChooser();
fileLoad.showOpenDialog(theFrame);
LoadedFile(fileLoad.getSelectedFile());
}
}
public void LoadedFile(File file)
{
boolean [] checkBoxState = null;
try
{
FileInputStream fileIn = new FileInputStream(file);
ObjectInputStream is = new ObjectInputStream(fileIn);
checkBoxState = (boolean[]) is.readObject();
}
catch(Exception ex)
{
ex.printStackTrace();
}
Восстановление значений флажков и чем она будет вызывать buildAndStartTrack
//how i did it myself (It has a bug but its working fine)
for (int i=0; i<256; i++)
{
JCheckBox check = new JCheckBox();
if(checkBoxState[i])
{
check.setSelected(true);
checkBoxList.set(i, check);
}
else
{
check.setSelected(false);
checkBoxList.set(i, check);
}
}
sequencer.stop();
buildTrackAndStart();
}
чем я посмотрел на книгу и нашел этот код .Я не смог получить даже после двух дней поиска более checkBoxs, темы арраистов по всему Интернету и форумам.
for (int i=0; i<256; i++)
{
JCheckBox check = (JCheckBox) checkBoxList.get(i);
if(checkBoxState[i])
{
check.setSelected(true); // here doubt
// check is on left handside
// so changing its value shouldn't effect value on right hand side i.e checkBoxList.get(i)
}
else
{
check.setSelected(false);
}
Но назначение с левой стороны оказывает влияние на правую сторону.
с какой линией у вас возникла проблема? 'setSelected()'? или 'checkBoxList.get (i)'? – XtremeBaumer
JCheckBox check = (JCheckBox) checkBoxList.get (i); – Gill
Последнее для цикла @XtremeBaumer – Gill