我有一些方法看起来很糟糕(尤其是参数数量)。我想知道如何才能让这个代码更简洁。
该方法的工作原理是 JLists
并设置一个新的模型(DefaultListModel
). 所以它只是在两个 JLists
并删除列表中被交换的项目,而项目被拿走的地方。
欢迎批评和建议。
调用该方法的例子。
moveToOtherJList(newOrdersModel, newOrdersJList, inProcessOrdersModel, inProcessOrdersJList);
这个方法
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);
}
我有一些方法看起来很糟糕(特别是参数的数量)。
好吧,没有必要传递任何一个ListModel,因为你可以从JList中获得ListModel。
所以我将定义该方法为
public void moveToOtherJList(JList fromJList, JList toJList)
{
int selectedIndex = fromJList.getSelectedIndex();
DefaultListModel fromModel = (DefaultListModel)fromJList.getModel();
DefaultListModel toModel = (DefaultListModel)toJList.getModel();
toModel.addElement(fromJList.getSelectedValue());
fromModel.remove(selectedIndex);
}