簡體   English   中英

我怎樣才能簡化這個模塊?

[英]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);
}

我有一些看起來很糟糕的方法(尤其是參數數量)。

好吧,沒有必要傳遞任何一個 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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM