Scala и приложения GUI Swing

Вы можете сделать это с помощью функции вместо переменной.

def y(x):
    return x + 10

Таким образом, print(y(x)) выдаст текущее значение x плюс десять.

Однако нет способа сделать это только с переменной . Переменные только изменяют свое значение, когда вы явно указываете им.

25
задан ZacharyP 15 October 2009 в 03:40
поделиться

4 ответа

Это потому, что вы хотите увидеть реальный код Scala Swing, или вас просто интересует, является ли Scala Swing «готовым к производству» ? Если последнее, то Scala Swing очень хорош: я начал использовать его для всего кода графического интерфейса. Сравните:

JButton b = new JButton();
b.setText("OK");
b.setFont(f);
b.setPreferredSize(new Dimension(20, 20));
b.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
      //reacction here
    }
});

с:

val b = new Button {
  text = "OK"
  font = f
  preferredSize = (20, 20)
}
listenTo(b)
reactions += {
  case ButtonClicked(`b`) => //reaction here
}

Поскольку Scala Swing на самом деле является лишь легким слоем поверх Java Swing, вы можете легко интегрировать любой компонент Java Swing и быть уверенным, что все работает нормально.

Тем не менее, документация в Scala 2.7 довольно плохо. Я понимаю, что Scala Swing обновляется до версии 2.8 и что это будет включать улучшенную документацию.

34
ответ дан 28 November 2019 в 20:38
поделиться

Дом зеркал

Я написал эту игру в Scala. Он с открытым исходным кодом и использует Swing через интерфейсы библиотек Java и Scala.

Scala API прекрасно работает, как показано на иллюстрации oxbox_lakes. Я должен был использовать интерфейс Java только для определенного низкоуровневого управления, такого как пользовательская альфа-композиция.

До того, как библиотека Scala-swing стала стабильной, игра была основана на Scala-Squib , но этот проект приостановил AFAIK.

11
ответ дан HRJ 15 October 2019 в 15:47
поделиться

Недавно я присутствовал на лекции о Scala, и одним из демонстрационных продуктов был клиент Scala-Swing Twitter. Это с открытым исходным кодом, и проект TalkingPuffin . Пользовательский интерфейс выглядел довольно привлекательно для проекта Swing, и я считаю, что проект ищет участников.

3
ответ дан Thimmayya 15 October 2019 в 15:47
поделиться

В коде Google есть Scalide , а в самом Scala есть библиотека Swing

7
ответ дан 28 November 2019 в 20:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: