2010-05-13 62 views
1

我已经开始研究软件合成器(或键盘)。由于可用的Jfugue API,我决定使用Java。我想弄清楚如何去创建键盘用户界面的实际键(注释),但我被卡住了。我尝试通过将黑白矩形按钮拖放到面板上来创建界面,但这似乎不起作用。有人能指引我走向正确的方向吗?绘制钢琴

+0

这个编程是如何相关的? – LukeN 2010-05-13 20:10:14

+2

@LukeN:他正在编写一个涉及UI的程序? – Randolpho 2010-05-13 20:11:03

+0

但是,这粗略地涉及到界面设计。 – LukeN 2010-05-13 20:12:07

回答

0

如果您使用的是Java/swing,最好的方法是绘制键盘图像并将单击位置映射到各个键盘按键。

0

我曾经做过类似的事情......我发现的最佳解决方案是绘制面板并将其边框和背景设置为键。然后,我使用鼠标侦听器来确定哪个面板被点击以及点击的持续时间。

1

查看该帖子的回复9,获取简单的piano keyboard,让你开始。您可能想从头开始阅读帖子,了解如何处理每个按钮所表示的笔记。

0

我想这是你想要什么:

  1. 创建扩展JPanel
  2. 覆盖的paint()方法来绘制钢琴键
  3. 通过实现MouseListener和的MouseMotionListener一类,并且知道什么时候用户点击鼠标在某些键
  4. 使用StreamingPlayer在JFugue弹奏音符动态

我是JFugue的作者,我也想开始一个附带的努力,JFugueUI,它会提供像人们可以在自己的应用程序中包含的图形键盘的东西 - 所以,让我知道你是否感兴趣在贡献!