1

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

4

4 回答 4

1

查看此帖子的回复 9,了解一个简单的钢琴键盘,它应该可以帮助您入门。您可能想从头开始阅读帖子,了解如何处理每个按钮所代表的注释。

于 2010-05-13T20:27:22.813 回答
0

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

于 2010-05-13T20:20:28.490 回答
0

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

于 2010-05-13T20:10:39.397 回答
0

我认为这就是你想要的:

  1. 创建一个扩展 JPanel 的类
  2. 覆盖paint()方法来绘制钢琴键
  3. 实现 MouseListener 和 MouseMotionListener,并知道用户何时在某些键上单击了鼠标
  4. 使用 JFugue 中的 StreamingPlayer 动态播放音符

我是 JFugue 的作者,并且我还想开始一项附带工作,JFugueUI,它可以提供图形键盘之类的东西,人们可以将它们包含在他们自己的应用程序中 - 所以,如果你有兴趣,请告诉我贡献!

于 2010-07-15T20:35:01.187 回答