Как мне использовать Swing со Scala 2.11 в Eclipse?
Я только что обновил Scala до 2.11, и теперь я не могу импортировать scala.swing. Как мне восстановиться после этого? Могу ли я просто загрузить файл JAR или что-то простое, как это? Надеюсь, мне не нужно ничего строить.
Редактировать: решение должно быть пригодным для использования в Eclipse без создания чего-либо из исходного кода, если это возможно.
3 ответа
Вот пример того, как обновить ваши зависимости для этого.
В версии 2.11 многие части стандартной библиотеки были разделены на собственные модули, включая Swing.
У меня та же проблема, но после выполнения какого-то шага я успешно использовал Scala.swing.
Вот несколько шагов, которым я следую, надеюсь, это поможет вам.
1) добавить внешний jar-файл в javaBuildPath(щелкните правой кнопкой мыши Project ->Proprties-> javaBuildPath-> добавить внешний Jar-> add scala.swing.x)
2) после этого я перехожу к типу не найденных ошибок
3) создать класс, в котором вы хотите сделать код для свинга
4) создать объект и в main() вы должны создать объект класса выше по новому ключевому слову
5) После этого он позволяет вам получить доступ к методам SimpleSwingApplication, поэтому вызовите startup ().
6) Вот и все,
Рассмотрим следующий пример, если это поможет вам понять, что я хочу сказать,
class FirstUI extends SimpleSwingApplication
{
def top= new MainFrame {
title = "GUI Program #1"
preferredSize = new Dimension(320, 240)
contents = new Label("Here is the contents!")
}
}
object First
{
def main(str: Array[String])
{
val f =new FirstUI
f.startup(str)
}
}
сохраните этот файл как First.scala и запустите его. Надеюсь, это поможет вам.
Я много боролся с этим беспорядком. Мне также потребовалось, чтобы как scala-swing.jar, так и scala-library.jar из /usr/share/java/scala/ были включены в проект как внешние файлы JAR. (В свойствах> Путь сборки Java> Библиотеки)
Тогда также системная библиотека JRE не могла быть просто доступной. Например, "Рабочая область по умолчанию: JRE (java-1.8.0-openjdk-1.8.0.212.b04-0.fc29.x86)" не работает, но "Среда выполнения: JavaSE-1.8 (java-1.8.0-openjdk-1.8.0.212.b04-0.fc29.x86_64)"работал. Я не знаю, в чем разница, добавляя его как "рабочую область по умолчанию" и "среду выполнения".
Также, по крайней мере, в Fedora 29 Eclipse получал ошибки, если я не добавлял "контейнер библиотеки Scala", хотя у меня уже был scala-library.jar как внешний JAR.
Но затем возникли ошибки при компиляции scala: "Версия библиотеки scala, найденная в пути сборки plotchartlib (2.10.6), предшествует той, которая предоставляется scala IDE (2.12.3). Задание соответствующего варианта установки Scala".
Что мне еще нужно было сделать, так это в свойствах> Путь сборки Java> Порядок и экспорт, мне пришлось поместить "контейнер библиотеки Scala [2.12.3]" внизу и поместить над ним scala-library.jar.
Я понятия не имею, почему это было так сложно, потому что в Fedora 29 настроен Eclipse, но мне потребовалось 2 рабочих дня, чтобы заставить его работать.
Просто добавь scala-swing.jar
зависимости вашего проекта.
Вы можете получить предварительно скомпилированный файл с веб-страницы проекта. В верхней части файла README у вас есть синие значки, указывающие на существующие выпуски. Прямо сейчас текущая версия для Scala v2.11. На этой странице ссылка на скачивание файла JAR находится справа.
Как только вы загрузите jarfile, откройте eclipse и перейдите к свойствам вашего проекта (щелкните правой кнопкой мыши на корне проекта / Properties). На вкладке " Путь сборки Java " добавьте путь к только что загруженному файлу.
Обратите внимание, что в моем случае я должен был также добавить scala-library.jar
(находится в zip-файле, который вы можете загрузить с главной страницы Scala). Вкладка " Проблема " в Eclipse помогла мне отладить эту проблему.