所以我对编程很新,现在我正试图更好地理解如何跨多个文件编程。
如何做到这一点,而不是尝试。
我第一次使用IDE时也是如此,所以这可能是让我沮丧的原因。
在肉上:
所以我有一个文件,而应该是主要的方法。在我的头脑中,它需要args,并调用窗口对象(当窗口打开时它不能做任何事情,对吧?)。
package CViewerMain
import CViewerMainWindow
/**
* Created by Matt on 6/21/16.
*/
class CViewer {
def main(args: Array[String]): Unit = {
var coreWindow = new CViewerMainWindow
coreWindow.main
return
}
}
该方法调用CViewerMainWindow,它位于第二个文件中。此外,IDE(Intellij IDEA)告诉我第二个包的名称与目录结构不匹配,但两个包都在同一个目录中。
package CViewerWindow
import scala.swing._
import swing.event.UIElementResized
/**
* Created by Matt on 6/21/16.
*/
package object CViewerMainWindow extends SimpleSwingApplication {
def top = new MainFrame {
title = "Hello, World!"
preferredSize = new Dimension(320, 240)
// maximize
visible = true
contents = new Label("Here is the contents!")
listenTo(UI.this)
reactions += {
case UIElementResized(source) => println(source.size)
}
}
}
所以我假设出了问题,在这个过程的某个地方,我没有给出其中一个文件足够/正确的信息。
答案 0 :(得分:3)
scala和java中的包很好地映射到你的目录结构。如果这两个类位于同一目录中,则它们位于同一个包中。
因此CViewerMain应该是CViewerMainWindow类的包。
答案 1 :(得分:0)
根据项目结构,CViewerMain和CViewerMainWindow类都在同一个文件夹中。所以你需要遵循罗伯特的答案。
更改以下
package CViewerWindow
到
package CViewerMain