我有一个JSpinner,我希望在启用编辑时控制它。使用键盘很容易,但是那边的那些小箭头小部件怎么样?我甚至无法在JSpinner源代码或其任何封闭的类中找到对它们的引用。
答案 0 :(得分:1)
您可以使用setUI()
方法隐藏Jspinner箭头。
public void hideSpinnerArrow(JSpinner spinner) {
Dimension d = spinner.getPreferredSize();
d.width = 30;
spinner.setUI(new BasicSpinnerUI() {
protected Component createNextButton() {
return null;
}
protected Component createPreviousButton() {
return null;
}
});
spinner.setPreferredSize(d);
}
如您所见,只需将createNextButton()
和createPreviousButton()
返回null
。
因为我们使用了BasicUI所以我们必须再次设置Spinner大小。我使用了PreferredSize
。
答案 1 :(得分:0)
你无法控制这两个箭头按钮,但你可以这样做
private void buttonActionPerformed(java.awt.event.ActionEvent evt) {
p.setEnabled(false);
}
假设你想要按下一个按钮而且用户根本无法使用jspinner,这是一个提示你可以修改它的更多动作
答案 2 :(得分:0)
您还可以使用
来使用jspinner直到特定值 if(spinner.getValue()==10){
//show error message and
spinner.setEnabled(false);
}
答案 3 :(得分:0)
如果使用的UI类是从BasicSpinnerUI
派生的,则可以通过以下方式删除箭头按钮:
for (Component component : spinner.getComponents()) {
if (component.getName() != null && component.getName().endsWith("Button")) {
spinner.remove(component);
}
}