如何执行scala swing应用程序?

发布于 2024-09-29 21:54:12 字数 510 浏览 4 评论 0原文

我是 scala 新手。并尝试执行 swing 应用程序。 我正在使用 scala 2.8 我已经成功编译了程序,但是.. 执行时显示错误,比如没有这样的文件.. 有谁可以帮我吗?

我提供了我正在尝试执行的代码。

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

它只是回复

没有这样的文件

i am new for scala .and trying to execute swing application.
I am using scala 2.8
I have compiled the program successfully but..
while executing it is showing the error like no such file..
can any 1 please help me out?

i m providing the code i am trying to execute.

Gui.scala

import swing._

object Gui extends SimpleSwingApplication

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

scalac Gui.scala

it compiles successfully and create class file
but when I try

scala Gui

it just replies

No such File

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

∝单色的世界 2024-10-06 21:54:12

设置:

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

应用程序启动。

Setup:

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

Compile:

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

Execute:

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

And the applications starts.

把梦留给海 2024-10-06 21:54:12

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

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

  • Gui$$anon$1$$anon$2.class
  • Gui$$anon$1.class
  • Gui$.class
  • Gui.class

如果如果你不这样做,那么要么编译失败,要么缺少其他东西。例如,如果您在顶部声明了一个 package X(并将其从示例中删除),则 Gui 将不会位于本地目录中,而是位于子目录下X,您应该通过输入 scala X.Gui 来调用它。

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

This is not a direct cut&paste from the Scala code, as the blank line between object Gui and { causes a compilation error.

Now, if you fix that error and compile this with Scala 2.8, you should get these classes in the local directory:

  • Gui$$anon$1$$anon$2.class
  • Gui$$anon$1.class
  • Gui$.class
  • Gui.class

If you don't, then either the compilation did not work, or there's something else missing. For example, if you declared a package X at the top (and removed it from the example), then Gui won't be in the local directory, but under a subdirectory X, and you should invoke it by typing scala X.Gui.

Another possibility is that you have some Java environment variable pointing the output directory to someplace else.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文