Scala: эквивалент холста и полигона WPF

Я разрабатываю основанную на Hex игру. Борясь с ограничениями системы типов C#, при открытии Scala я понял, что должен переписать приложение в Scala. Мне нужен базовый графический интерфейс, чтобы иметь возможность развивать основной функционал. Я использовал холст WPF с классом Polygon. Я также использую класс Wpf Border и класс Line на холсте. Мне не нужна большая часть функциональности Wpf. Я не использую Xaml. Мне просто нужно сопоставить графические объекты с желаемыми координатами, получать от них события щелчка левой и правой кнопкой мыши, а также выводить подсказки и отображать контекстные меню. Мне даже не нужно свойство контекстного меню Wpf, так как я предпочитаю, чтобы контекстные меню были динамическими. Я справляюсь с прокруткой и масштабированием своего собственного кода.

Лучшее, что я нашел для создания полигонов - это класс GeneralPath. Хотя это якобы амортизируется. Я начал с Scala Swing, но класс MainFrame не позволит мне использовать класс awt canvas в качестве контента. Любая помощь / рекомендации приветствуются

1 ответ

Решение

Просто замените краску некоторого Компонента:

public class MyCanvasPanel extends JPanel{
  ...
  @Override
 public void paint(Graphics g){/* do your java2d stuff here*/}
}
Другие вопросы по тегам