2012-11-04 60 views
0

我在JFrame中有公共静态变量。我在另一个JFrame中创建了一个JLabel。我想将JLabel文本设置为该变量。当我从netbeans创建JLabel时,它会创建无法更改的自动生成的代码。我使用netbeans 7.2。如何从netbeans创建动态JLabel

我可以使用myJLabel.setText(JFrame.variableName);更改JLabel。但问题是自动生成的代码不允许我编辑上面的代码片段。

我想通过设置属性面板而不是更改上面的代码来将文本设置为变量名称。

有没有办法使用属性面板设置动态文本?

P.S. - I noticed in property panel, we can set jLabel value from existing component but these components reside in same JFrame. My variable reside in another JFrame

+0

从属性面板公开变量。此外,使用自动生成的代码会在不同的操作系统上更改应用程序的视图。也可能会删除一些组件 –

+1

由于无法更改自动生成的代码,因此可以在手动调用initComponents后将其设置为 – MadProgrammer

+0

,我从属性面板中删除现有文本并在initFocus构造函数中使用setText方法'方法。工作正常。但如果有一种方法来设置属性面板的文本,那会更好...... :) – lakshman

回答

3

你有两个选择,我可以看到。

一,你简单设置呼叫后的标签来initComponent

或者......

  • 文本单击标签问题
  • 单击属性中的“代码”按钮片
  • 点击针对‘后创建代码’
  • 的“...”按钮,输入你想执行的,像myJLabel.setText(JFrame.variableName);一些代码。请记住,这个代码插入内联,所以它必须有良好的格式和编译

enter image description here

然后产生类似...

private void initComponents() {  
    jLabel1 = new javax.swing.JLabel(); 
    jLabel1.setText("Hello"); 

    setLayout(new java.awt.GridBagLayout()); 
    add(jLabel1, new java.awt.GridBagConstraints()); 
}// </editor-fold> 

NB-确保您清除默认来自标签的文本;)

0

任何超出最基本的UI的,尤其是动态代码,将要求您停止使用几乎任何及所有IDE的自动生成功能。

+1

这真是一个评论 - 恕我直言 – MadProgrammer