首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSpinner值不更新

JSpinner值不更新
EN

Stack Overflow用户
提问于 2015-11-18 01:01:44
回答 1查看 676关注 0票数 0

我有一个JSpinner,我创建它并添加到屏幕上,然后使用setValue更新它的值。如果然后调用getValue,则将重新处理正确的更新值。然而,它并没有显示在UI上,当我单击该按钮来增加它时,它将变为1,而不是31。我已经尝试了大量的GUI更新想法,但没有任何效果。

代码语言:javascript
复制
public class test extends JFrame {
private JSpinner jspin;

public test() {
    jspin = new JSpinner();
    this.add(jspin);
    this.setSize(300,300);
    this.setVisible(true);
}

public static void main(String[] args){
    new test();
}

public void updateSpin() {
    jspin.setValue(3);
}

}

我希望更新JSpinner的值。基本上,在一个类()中,JSpinner被添加到UI中,而另一个类调用一个使用setValue更新它的方法()。它根据代码工作,但UI显示的是一个不同的故事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-18 01:40:29

我猜--您正确地调用了passArgs(...)方法,但是在错误的StartUpPane实例上调用了它,您的可能会创建一个全新的StartUpPane实例,在它上调用这个方法,并期望完全独立和唯一的StartUpPane实例发生变化,但不会。如果是这样的话,那么解决方案就是将正确的可视化实例传递到需要它的地方。更好的解决方案是使用MVC或模型-视图-控制结构,而糟糕的解决方案是使用静态方法和/或字段。

另一种可能是,你可能在跟踪变量,包括StartUpPane的变量--但谁知道呢。

再说一遍,这不过是个愚蠢的胡思乱想,或者说是一堆乱哄哄的。请不要让我们猜测--显示足够的代码(但不要太多),所以我们知道正在发生什么。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33770007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档