我有一个 JSpinner,我想在启用编辑时控制它。使用键盘很容易,但是侧面的那些小箭头小部件怎么样?我什至在 JSpinner 源代码或其任何封闭类中都找不到对它们的引用。
问问题
2421 次
4 回答
2
您可以使用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);
}
如您所见,只需 makecreateNextButton()
和createPreviousButton()
return null
。
因为我们使用了 BasicUI,所以我们必须再次设置 Spinner 大小。我用过PreferredSize
。
于 2016-06-11T18:04:17.003 回答
0
你不能控制这两个箭头按钮,但你可以这样做
private void buttonActionPerformed(java.awt.event.ActionEvent evt) {
p.setEnabled(false);
}
假设您想按下一个按钮,而用户根本无法使用 jspinner,这是对更多操作的提示,您也可以对其进行修改
于 2013-04-29T17:32:48.167 回答
0
您还可以允许使用 jspinner 直到使用特定值
if(spinner.getValue()==10){
//show error message and
spinner.setEnabled(false);
}
于 2013-04-29T17:36:05.900 回答
0
如果使用的 UI 类派生自BasicSpinnerUI
,则可以使用以下命令删除箭头按钮:
for (Component component : spinner.getComponents()) {
if (component.getName() != null && component.getName().endsWith("Button")) {
spinner.remove(component);
}
}
于 2019-12-10T20:44:30.823 回答