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*/}
}