我正在开发基于十六进制的游戏。在与C#类型系统的局限性搏斗之后,在发现Scala时,我知道我必须在Scala中重写应用程序。我需要一个基本的GUI来开发主要功能。我一直在使用带有Polygon类的WPF Canvas。我还在Canvas上使用Wpf Border类和Line类。我不需要Wpf的大部分功能。我不使用Xaml。我只需要将图形对象映射到所需的坐标,从它们接收左右鼠标单击事件,并提供工具提示和显示上下文菜单。我甚至不需要Wpf上下文菜单属性,因为我更喜欢上下文菜单是动态的。我处理滚动和缩放我自己的代码。
我发现制作多边形的最好的是awt GeneralPath类。虽然这被认为是折旧的。我从Scala Swing开始,但是MainFrame类不允许我使用awt canvas类作为内容。任何帮助/建议赞赏
答案 0 :(得分:2)
只是覆盖某些组件的绘制:
public class MyCanvasPanel extends JPanel{
...
@Override
public void paint(Graphics g){/* do your java2d stuff here*/}
}