使用Initcomponents()中的函数

时间:2018-03-21 16:33:37

标签: java swing user-interface

我正在用Java创建一个JFrame应用程序,我正在使用应用程序设计器在我的JFrame中插入组件。在Jtextarea中,我想显示一些文本,但该文本是由我在课堂上编写的函数返回的。所以我想我可以在initcomponents()中调用JTextarea值中的函数来管理我的gui组件的代码。但无法修改initcomponent方法(以灰色突出显示)。有没有办法做到这一点?

public String yes() {
    return "voila";
}

有没有办法做这样的事情?

private void initcomponent() {
    jTextArea1.setText("some text" + yes());
}

2 个答案:

答案 0 :(得分:1)

在GUI编辑器中创建UI时,IDE会重新生成initComponents()方法。该方法被“防护”以防止这种重新生成覆盖用户编写的代码。

initComponents方法是只读的,以保持对IDE的完全控制。您可以在initComponents之后立即在构造函数中添加您的。

public class NewJFrame extends javax.swing.JFrame {

public NewJFrame() {
    initComponents();
    myInitComponents();
}

public void myInitComponents() 
{
   jTextArea1.setText("some text"+yes());
}

public String yes(){
    return "voila";
}

答案 1 :(得分:1)

IDE生成initComponents()方法,每次构建项目时都会重新生成(来自单独的xml)。您必须“告诉”IDE您正在添加自定义代码。

  • 转到GUI编辑器,单击JTextArea组件

enter image description here

  • 选择Properties(在调色板下方的边栏中),找到text属性, 点击ellipsis(带三个点的按钮)

enter image description here

  • 从弹出的对话框中选择custom code,输入返回所需字符串的代码。

enter image description here