gpt4 book ai didi

Java:如何禁用 JSpinner 蜂鸣声

转载 作者:太空宇宙 更新时间:2023-11-04 12:33:36 24 4
gpt4 key购买 nike

当在 JSpinner 中输入无效输入时,会发出蜂鸣声,但我不知道如何禁用它。

我正在使用不允许输入无效输入的数字旋转器,如下所示:

public class SpinnerTester {

public static void main(String[] args) {

JSpinner spinner = new JSpinner(new SpinnerNumberModel(1, 0, 100, 1));


//disable invalid input from being typed into spinner
JFormattedTextField textField = ((JSpinner.NumberEditor) spinner.getEditor()).getTextField();
((NumberFormatter) textField.getFormatter()).setAllowsInvalid(false);

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(spinner);
frame.setVisible(true);
frame.pack();
}

}

最佳答案

我不知道是否有更好的方法,但一种方法是制作自定义的外观和感觉,完全禁用蜂鸣声。这达到了预期的效果,但也禁用了整个程序的蜂鸣声,而不仅仅是微调器。

public class SpinnerTester {

public static void main(String[] args) {

JSpinner spinner = new JSpinner(new SpinnerNumberModel(1, 0, 100, 1));


//disable invalid input from being typed into spinner
JFormattedTextField textField = ((JSpinner.NumberEditor) spinner.getEditor()).getTextField();
((NumberFormatter) textField.getFormatter()).setAllowsInvalid(false);

/**
* Change look and field
*/
try {
UIManager.setLookAndFeel(new MyLookAndFeel());
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(spinner);
frame.setVisible(true);
frame.pack();

}

/**
* Create Look and Feel without beeps
*/
public static class MyLookAndFeel extends NimbusLookAndFeel {
@Override
public void provideErrorFeedback(Component component) {
//super.provideErrorFeedback(component);
}
}
}

基于 this question 的回答.

关于Java:如何禁用 JSpinner 蜂鸣声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37580324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com