I have some method which looks awful(especially number of parameters). I wonder how can I make this code cleaner.
The method works with JLists and setting a new model(DefaultListModel). So it just swaps items between two JLists and deletes swapped item in list where was the item taken.
Сriticism and advice are welcome.
Call the method example:
moveToOtherJList(newOrdersModel, newOrdersJList, inProcessOrdersModel, inProcessOrdersJList);
The method:
private void moveToOtherJList(DefaultListModel firstModel, JList firstJList, DefaultListModel secondModel, JList secondJList)
{
int selectedIndex = firstJList.getSelectedIndex();
secondModel.addElement(firstJList.getSelectedValue());
secondJList.setModel(secondModel);
firstModel.remove(selectedIndex);
}
firstModelonfirstJList, can we assume that it is supposed to be alreadyfirstJList’s model? Then, why do you need two parameters? And why is settingsecondModelassecondJList’s model part of the method for moving an item? That looks like two entirely unconnected tasks. - Holger