Quick picture to show what is happeningJava JSpinner绘画两次
JSpinner出现两次,如上图所示。点(0,0)处的第一个不应出现的外观不可选,不可编辑或可使用,而没有微调按钮。
这里的奇怪之处在于,每个其他组件都没有问题。只有jspinner。我正在使用Java 7并在Netbeans中开发(而不是gui开发工具包)。这是Java 7的错误吗?如果不是,我可以尝试在我指定的区域中只使用一次JSpinner涂料?
代码来说明这个问题:
我将它添加到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));
}
我在这里覆盖涂装方法:
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();
}
为了更好地帮助越早,张贴[SSCCE(HTTP:// sscce.org/)。 –