我将许多参数(确切地说是 10 个)传递到扩展 Swing Worker 的类中,所以我想知道是否有某种方法可以创建一个帮助类,使我的代码更加优雅和可读?任务对象属于该类。代码工作正常,但我想知道如果我决定添加更多传递参数,是否可以使其更具可读性和更优化。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
SortThread task = new SortThread(a, brelem, sort, jButton1, brElemTextField,
bubbleButton, selectionButton, insertionButton, jLabel3,
konzola, startTime, stopTime, sekunde, jScrollPane2);
task.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent e) {
if ("progress".equals(e.getPropertyName())) {
jProgressBar1.setValue((Integer) e.getNewValue());
}
}
});
task.execute();
}
最佳答案
我无法为这个问题提供一个好的答案,因为我不太清楚你想要做什么。我强烈建议查找有关重构和设计模式的阅读 Material ,因为这些技术的经验将永远帮助您。
至于具体示例:似乎大多数参数都是 UI 控件 - 您可以尝试创建一个包含用户界面对象的对象,然后您可以将其传递到构造函数中代替所有对象。 编辑:您不一定需要为此创建一个自己的类 - a map也是一种可能。
或者,如果您将 SortThread
设置为 inner class ,然后它就可以访问父级的字段,因此您不必将它们传入。
当然,其他经验丰富的人可能会对这个问题有更多的看法,但考虑到这个问题如此广泛,我想无论如何我都会提出几个选择。
关于java - Swing Worker - 传递许多参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13733519/