Swing Scala:WPF画布和多边形的等价物

Swing Scala:WPF画布和多边形的等价物,swing,scala,awt,scala-swing,Swing,Scala,Awt,Scala Swing,我正在开发一个基于十六进制的游戏。在与C#type系统的局限性搏斗之后,在发现Scala时,我知道我必须用Scala重写应用程序。我需要一个基本的GUI来开发主要功能。我一直在使用WPF画布和多边形类。我还在画布上使用Wpf边界类和线类。我不需要Wpf的大部分功能。我不使用Xaml。我只需要将图形对象映射到所需的坐标,从中接收鼠标左键和右键单击事件,并显示工具提示和上下文菜单。我甚至不需要Wpf上下文菜单属性,因为我更希望上下文菜单是动态的。我处理滚动和缩放我自己的代码 我发现最好的多边形生成方

我正在开发一个基于十六进制的游戏。在与C#type系统的局限性搏斗之后,在发现Scala时,我知道我必须用Scala重写应用程序。我需要一个基本的GUI来开发主要功能。我一直在使用WPF画布和多边形类。我还在画布上使用Wpf边界类和线类。我不需要Wpf的大部分功能。我不使用Xaml。我只需要将图形对象映射到所需的坐标,从中接收鼠标左键和右键单击事件,并显示工具提示和上下文菜单。我甚至不需要Wpf上下文菜单属性,因为我更希望上下文菜单是动态的。我处理滚动和缩放我自己的代码


我发现最好的多边形生成方法是awt GeneralPath类。虽然这被认为是贬值了。我从Scala Swing开始,但是MainFrame类不允许我使用awt canvas类作为内容。欢迎您提供任何帮助/建议

只需覆盖某些组件的油漆即可:

public class MyCanvasPanel extends JPanel{
  ...
  @Override
 public void paint(Graphics g){/* do your java2d stuff here*/}
}

你不需要画布。您可以在任何组件(例如JPanel)上重新定义方法绘制,并在那里使用java2D。不知道这涉及到什么。