我怎样才能简化这个模块?
How can I simplify this module?
我有一些看起来很糟糕的方法(尤其是参数数量)。我想知道如何使这段代码更清晰。
该方法适用于 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);
}
I have some method which looks awful(especially number of parameters).
好吧,没有必要传递任何一个 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);
}
我有一些看起来很糟糕的方法(尤其是参数数量)。我想知道如何使这段代码更清晰。
该方法适用于 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);
}
I have some method which looks awful(especially number of parameters).
好吧,没有必要传递任何一个 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);
}