有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Intelij scala项目不支持swing

我无法将swing库与scala-sdk-2.12.4一起使用。 我使用的是Java 9版本。 当我尝试运行程序时:

package rs.ac.bg.etf.zd173013m.gui

import swing._

object HelloWorld extends SimpleSwingApplication {
def top = new MainFrame {
   title = "First Swing App"
    contents = new Button {
     text = "Click me"
   }
 }
}

我得到以下错误:

Exception in thread "main" java.lang.IncompatibleClassChangeError: Method scala.swing.Reactor.$init$()V must be InterfaceMethodref constant
    at scala.swing.SwingApplication.<init>(SwingApplication.scala:4)
    at scala.swing.SimpleSwingApplication.<init>(SimpleSwingApplication.scala:13)
    at rs.ac.bg.etf.zd173013m.gui.HelloWorld$.<init>(Application.scala:5)
    at rs.ac.bg.etf.zd173013m.gui.HelloWorld$.<clinit>(Application.scala)
    at rs.ac.bg.etf.zd173013m.gui.HelloWorld.main(Application.scala)

共 (1) 个答案

  1. # 1 楼答案

    类路径上有不兼容的JAR版本。JAR中包含“SwingApplication”的代码是根据与类路径上不同的“Reactor”版本编译的

    你用什么来管理你的依赖关系?我猜你是手动下载的

    切换到Gradle这样的依赖关系管理系统,这个问题应该会消失,因为它将确保您所有的依赖关系都是一致的