Проблемы с получением JList getSelectedIndices и getComponents. Показанный код обернут в actionPerformed-> actionListener кнопки.
это мой кусок кода
открытый класс PanelLeft расширяет JPanel {
private DefaultListModel<String> dlm;
private JList<String> list;
public PanelLeft() {
dlm = new DefaultListModel<String>();
dlm.addElement("FOL");
dlm.addElement("SSII");
dlm.addElement("EEDD");
dlm.addElement("Marcas");
dlm.addElement("BBDD");
dlm.addElement("Programación");
list = new JList<String>(dlm);
list.setFixedCellWidth(200);
JScrollPane jsp = new JScrollPane(list);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
add(jsp);
}
public JList<String> getList() {
return list;
}
Для actionListener
class ControlToRight implements ActionListener {
private PanelLeft pl;
private PanelRight pr;
public ControlToRight(PanelLeft panL,PanelRight panR) {
pl = panL;
pr = panR;
}
@Override
public void actionPerformed(ActionEvent e) {
//System.out.println(pl.getList().isSelectionEmpty());
if(pl.getList().getSelectedValuesList() != null) {
for(int i : pl.getList().getSelectedIndices()) {
pr.getList().add(pl.getList().getComponent(i));
}
}
}
}
Следует добавить компоненты из левой панели JList (pl) в правую панель JList (pr).
Фактический результат - ничто. Это ничего не делает, ни arrayIndexOutOfBounds, ничего. Он даже не входит в цикл for.