Более универсальный ответ для универсального вопроса "Десятичное число по сравнению с Дважды?": Десятичное число для денежных вычислений для сохранения точности, Двойной для научных вычислений, которые не становятся затронутыми небольшими различиями. С тех пор Дважды тип, который является собственным к ЦП (внутреннее представление хранится в основа 2 ), вычисления, сделанные с Двойным, выполняют лучше тогда Десятичное число (который представлен в основа 10 внутренне).
Вы можете импортировать все библиотеки java прямо в свой код scala.
Попробуйте раздел учебника по scala: «взаимодействие с Java».
Возможно, вы сможете использовать источник scala.swing
в качестве ссылки, например, http://lampsvn.epfl.ch/svn-repos/scala/ scala / trunk / src / swing / scala / swing / Button.scala
Какие функции scala вы пытаетесь использовать с ним? Это может помочь придумать ответ. Т.е. - что вы пытаетесь с этим сделать, потенциально на Java? Затем мы можем попытаться придумать более приятный способ сделать это с помощью Scala и / или создать оболочку для классов, которая сделает то, что вы пытаетесь сделать, еще проще.
Вы могли бы рассмотреть механизм «неявных преобразований» Scala. Вы можете сделать что-то вроде этого:
implicit def enrichJInternalFrame(ji : JInternalFrame) =
new RichJInternalFrame(ji)
Теперь вы определяете класс RichJInternalFrame (), который принимает JInternalFrame и имеет любые методы, с помощью которых вы хотите расширить JInternalFrame, например:
class RichJInternalFrame(wrapped : JInternalFrame) {
def showThis = {
wrapped.show()
}
}
Это создает новый метод showThis, который просто вызывает показать в JInternalFrame. Теперь вы можете вызвать этот метод в JInternalFrame:
val jif = new JInternalFrame()
println(jif.showThis);
Scala автоматически преобразует jif в RichJInternalFrame и позволит вам вызывать для него этот метод.
В JRuby вы можете смешивать одну (или несколько) черт с JDesktopPane или JInternalFrame вместо их расширения. Таким образом, вам не нужно будет оборачивать классы, а просто использовать существующие объекты. Насколько мне известно, это невозможно с чертами Scala.
К счастью, есть решение, почти такое же гибкое, как у Ruby: лексически открытые классы .