|
|
1
1
而不是写这封信:
你也可以这样写:
我不知道这是否是最优雅的解决方案,但至少你不再有那么大的if构造。 |
|
|
2
0
|
|
|
3
0
一个足够体面的方法是声明 enum whose elements match your strings 避免匿名内部类的原因可能是因为该类尚未具有该构造,即使这可能是最好的解决方案。 |
|
|
4
0
如前所述,您可以使用匿名内部类来实现ActionListener接口。或者,您不必使用匿名内部类,但可以使用简单的嵌套类:
然后。。。
有关此方法(或任何涉及内部类的方法)优于在外部类中实现ActionListener的原因,请参阅“设计模式”: “偏爱‘对象组合’而非‘类继承’”(四人帮1995:20) 在匿名内部类和这些命名内部类之间进行选择在很大程度上是一个风格问题,但我认为这个版本更容易理解,并且在有大量操作时更清晰。 |
|
5
-1
在您的示例中,您似乎将JComponent用作JPanel。没有太大的区别,但是使用JPanel来收集一块小部件。此外,不太可能需要对它进行子类化,所以不要这样做。 例如:
|