如何在自定义图形上下文中绘制JPanel并处理点击(或替代解决方案)

时间:2014-03-17 10:04:59

标签: java swing event-handling jcomponent

对于我当前的项目,我的情况是我需要一个交互式元素,它将在自定义图形上下文中绘制,并允许用户交互(例如鼠标点击)。

由于这些元素非常复杂,我认为最好的解决方案是使用JPanel进行布局并手动绘制它并发送鼠标和键盘事件。

目前我的计划是:

  1. 在Jpanel上调用setSize和setLocation
  2. 使用图形上下文调用绘画
  3. 捕获所需的事件(在此示例中为click)创建一个新的MouseEvent并使用JPanel.dispatchEvent()传递它。
  4. 我怀疑一路上会有很多陷阱和边缘情况,所以

    a。)这是正确的方法还是缺少一些基本的东西? b。)是否有可以使用的现有库?

1 个答案:

答案 0 :(得分:0)

这是一个坏主意,你扔掉了Swing为你做的一半然后尝试自己重新实现它。

如果你真的必须这样做,那么这样的话:How to make canvas with Swing?可能是你最好的前进方式。我真的想看看你是否可以通过自定义控件构建屏幕来实现这一点。