将变量值传递给另一个选项卡(JPanel)

时间:2014-12-22 13:54:04

标签: java swing

我一直在寻找解决方案,但问题仍然存在。我正在设计GUI并尝试通过单击按钮来更改变量:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                          
    var=(String)jComboBox2.getSelectedItem();
}

然后我想用它来改变已经存在的另一个标签中的标签,但它总是说空(即使它在最上层的类中定义,变量的值也不会更新。 我在尝试:

jLabel4.revalidate();
jLabel4.repaint();

但它也失败了。


好的,我会更好地解释一下:D我有一个按钮定义如下:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)
{                                         
var=(String)jComboBox2.getSelectedItem();
jLabel4.revalidate(); //actually makes no difference if i delete this 2 lines...
jLabel4.repaint();    }

我想在另一个标签(JPanel)中使用这个变量:

jLabel4.setText("Studenci z przedmiotu " + var); 

但变量var始终保持为null,如母类中所定义的(这是非常合乎逻辑的,因为所有组件都是在启动时启动的,然后才按下按钮...)。但是你知道为什么函数重绘和重新验证不起作用吗?我该如何替代它们? sry没有发布整个代码,但我认为这将是太多垃圾邮件; d

1 个答案:

答案 0 :(得分:0)

如果要更改Text变量,请在gui中使用setText()方法 例如:

 jlable4.setText("new text");

并将其置于您的行动中:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        jlable4.setText("new text");
   }

如果这是你的问题,请尽情享受!如果不给我一个代码的安宁,并告诉我什么是错误信息,我会帮助你。