如何执行scala swing应用程序?

时间:2010-11-01 09:02:38

标签: swing scala

我是scala的新手。并尝试执行swing应用程序。 我正在使用scala 2.8 我已成功编译该程序,但.. 执行它时显示的错误就像没有这样的文件.. 任何1请帮助我吗?

我提供了我想要执行的代码。

Gui.scala

import swing._

object Gui extends SimpleSwingApplication

{
    def top=new MainFrame {
        title="swing"
        val b1=new Button{
            text = "ok"
        }
    } 
}

scalac Gui.scala

它成功编译并创建类文件 但是当我尝试

scala Gui

它只是回复

  

没有这样的文件

2 个答案:

答案 0 :(得分:2)

设定:

D:\src\scala_ex\ex1>dir
 Volume in drive D is Data
 Volume Serial Number is 5C88-8D6C

 Directory of D:\src\scala_ex\ex1

01.12.2010  09:25    <DIR>          .
01.12.2010  09:25    <DIR>          ..
01.12.2010  09:24               173 gui.scala
               1 File(s)            173 bytes
               2 Dir(s)  24 575 205 376 bytes free

D:\src\scala_ex\ex1>more gui.scala
import swing._

object Gui extends SimpleSwingApplication {
  def top = new MainFrame {
    title = "swing"
    val b1 = new Button{
      text = "ok"
    }
  }
}

D:\src\scala_ex\ex1>scalac -version
Scala compiler version 2.8.1.final -- Copyright 2002-2010, LAMP/EPFL

编译:

D:\src\scala_ex\ex1>scalac gui.scala

D:\src\scala_ex\ex1>dir
 Volume in drive D is Data
 Volume Serial Number is 5C88-8D6C

 Directory of D:\src\scala_ex\ex1

01.12.2010  09:26    <DIR>          .
01.12.2010  09:26    <DIR>          ..
01.12.2010  09:26               485 Gui$$anon$1$$anon$2.class
01.12.2010  09:26               557 Gui$$anon$1.class
01.12.2010  09:26               558 Gui$.class
01.12.2010  09:26             1 467 Gui.class
01.12.2010  09:24               173 gui.scala
               5 File(s)          3 240 bytes
               2 Dir(s)  24 575 201 280 bytes free

执行:

D:\src\scala_ex\ex1>scala -cp . Gui

应用程序启动。

答案 1 :(得分:1)

这不是Scala代码的直接剪切和粘贴,因为object Gui{之间的空行会导致编译错误。

现在,如果您修复了该错误并使用Scala 2.8进行编译,那么您应该在本地目录中获取这些类:

  • 桂$$匿名$ $$ 1匿名$ 2.class
  • 桂$$匿名$ 1.class
  • 桂$的.class
  • Gui.class

如果不这样做,则编辑不起作用,或者缺少其他内容。例如,如果您在顶部声明了package X(并从示例中删除了它),那么Gui将不在本地目录中,而是在子目录X下,您应该调用它输入scala X.Gui

另一种可能性是你有一些Java环境变量将输出目录指向其他地方。