我试图在鼠标输入JButton
. 问题是JButton
对象不支持SAMPLE_RATE
控件。我能做些什么来改变音高?
(FloatControl.Type.SAMPLE_RATE)
我试图在鼠标输入JButton
. 问题是JButton
对象不支持SAMPLE_RATE
控件。我能做些什么来改变音高?
(FloatControl.Type.SAMPLE_RATE)
JButtons 当然永远不会支持诸如此类的任意功能——它们只能做和理解与 JButton 相关的概念,而这正是它应该的样子。但一切都没有丢失。您可以为您的 JButton 的 ButtonModel 提供一个 ChangeListener,然后当鼠标悬停在按钮上时,在控制采样率的任何对象上调用采样率更改。请注意,在 ChangeListener 中,您将检查isRollover()
检查悬停的方法。
例如,
button.getModel().addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent cEvt) {
ButtonModel model = (ButtonModel) cEvt.getSource();
if (model.isRollover()) {
// do something with pitch
} else {
// undo something with pitch
}
}
});
请注意,您可能需要在 Swing 事件线程的后台线程中进行音高修改。