1

我正在开发一个基于十六进制的游戏。在与 C# 类型系统的局限性作斗争后,在发现 Scala 时,我知道我必须用 Scala 重写应用程序。我需要一个基本的 GUI 才能开发主要功能。我一直在使用带有 Polygon 类的 WPF Canvas。我还在 Canvas 上使用 Wpf Border 类和 Line 类。我不需要 Wpf 的大部分功能。我不使用 Xaml。我只需要将图形对象映射到所需的坐标,从它们接收鼠标左键和右键单击事件,并提供工具提示并显示上下文菜单。我什至不需要 Wpf 上下文菜单属性,因为我更喜欢上下文菜单是动态的。我通过自己的代码处理滚动和缩放。

我发现制作多边形的最好方法是 awt GeneralPath 类。虽然这应该是贬值的。我从 Scala Swing 开始,但 MainFrame 类不允许我使用 awt 画布类作为内容。任何帮助/建议表示赞赏

4

1 回答 1

2

只是覆盖一些组件的油漆:

public class MyCanvasPanel extends JPanel{
  ...
  @Override
 public void paint(Graphics g){/* do your java2d stuff here*/}
}
于 2012-05-07T02:54:36.877 回答