如上图所示,JSpinner 出现了两次。在点 (0,0) 的第一次出现不应该出现在没有微调按钮的情况下是不可选择、不可编辑或不可使用的。
奇怪的是,其他所有组件都没有问题。只有jspinner。我正在使用 Java 7 并在 Netbeans(不是 gui 开发人员工具包)中进行开发。这是java 7的错误吗?如果不是,我可以尝试让我的 JSpinner 在我指定的区域仅绘制 1 次?
说明问题的代码:
我将它添加到 JPanel 的子类中,如下所示:
public class MyCustomGUI extends JPanel {
private JSpinner entrySpinner;
public MyCustomGUI () {
super(null);
this.setDoubleBuffered(true);
entrySpinner = new JSpinner(new SpinnerNumberModel(0, 0, Integer.MAX_VALUE, 1));
add(entrySpinner);
....
我有一种方法可以给它一个位置:
public void resize() {
entrySpinner.setBounds((int) (this.getWidth() * .2), (int) (this.getHeight() * 0.38), (int) (this.getWidth() * 0.3), (int) (this.getHeight() * 0.1));
}
我在这里覆盖了paint方法:
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(
RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
.. draw shapes..
super.paintComponents(g);
super.validate();
Toolkit.getDefaultToolkit.sync();
g.dispose();
}