我继承了以下代码:
(有些名字被改变以保护无辜者。)
package foo.bar.baz;
import javax.swing.JPanel;
//Main panel in the GUI
class DemoRootPanel extends JPanel {
private final MainGUIClass demo;
DemoRootPanel(MainGUIClass demo) {
super();
this.demo = demo;
}
public MainGUIClass getDragAndDropPanelsDemo() {
return demo;
}
}
我没有立即明白为什么它很重要,所以我通过源树看到它被使用了。这些都是结果:
$ ack -i rootpanel
DemoRootPanel.java
5:class DemoRootPanel extends JPanel {
8: DemoRootPanel(MainGUIClass demo) {
MainGUIClass.java
70: private final DemoRootPanel rootPanel;
124: rootPanel = new DemoRootPanel(MainGUIClass.this);
821: containerPanels.add(new ContainerPanel(rootPanel));
846: containerPanels.add(new ContainerPanel(rootPanel));
1777: ContainerPanel newContainer = new ContainerPanel(rootPanel);
ContainerPanel.java
30: DemoRootPanel rootPanel;
49: public ContainerPanel(DemoRootPanel rootPanel) {
51: this.rootPanel = rootPanel;
和
$ ack getDragAndDropPanelsDemo
DemoRootPanel.java
13: public PileSortGUI getDragAndDropPanelsDemo() {
据我所知,这完全没必要。但这是我的第一份工作,我还没上过大学,等等,所以我想知道这不是一些重要而又不熟悉的成语。
PS - 我也是SO的新手。我相信这个问题可以肯定地回答,但它看起来似乎不那么正常。如果不行,请告诉我,我会把它取下来。 (或者只是修改它:P)
答案 0 :(得分:1)
看起来这只是一个空的JPanel,它还包含对主类对象的引用。
可以简单地用普通JPanel
替换它(省略demo
参数)。
可能有人计划将这个课程用于某个目标但稍后会忘记这一点。或者有人误解并认为每个使用的GUI对象都必须有自己的子类。评论//Main panel in the GUI
看起来像这样。
如果你有人编写这段代码,请问他(或她) - 否则我会用一个简单的JPanel替换它的使用来减少类的数量。 (你有一个版本控制系统,不是吗?)