Java在单击事件时返回输入文本值

Java在单击事件时返回输入文本值,java,Java,单击按钮时如何获取输入字段的值 例如,我需要从PersonalInfo类输入textName的值,以便在另一个名为GenerateRDF 这是我的代码: public class PersonalInfo extends JPanel { private void initialize() { .... JTextPane textName = new JTextPane(); textName.setBounds(95, 36, 302,

单击按钮时如何获取输入字段的值

例如,我需要从
PersonalInfo
类输入
textName
的值,以便在另一个名为
GenerateRDF

这是我的代码:

public class PersonalInfo extends JPanel {
    private void initialize() {
        ....
        JTextPane textName = new JTextPane();
        textName.setBounds(95, 36, 302, 20);
        panel.add(textName);

        JButton btnSave = new JButton("Save");
        btnSave.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                // send the value of `textName` to GenerateRDF
               GenerateRDF generator = new GenerateRDF();
               generator.setRDF();
            }
        }); 
   }
}

public class GenerateRDF {
      public void setRDF() {
        String personURI    = "http://localhost/amitkumar";
        String fullName = textName;

        // print here the value received from the `PersonalInfo` class
        System.out.println(fullName);
        Model model = ModelFactory.createDefaultModel();

        Resource node = model.createResource(personURI)
                 .addProperty(VCARD.FN, fullName);
        model.write(System.out);
    }
}

单击按钮actionListener时,可以使用按钮actionListener中的
getText()
方法将输入存储在变量中。然后将此变量传递给
生成器df

单击按钮时如何获取输入字段的值

存在一个名为的方法,可用于检索
textName
变量的文本

示例:

JButton btnSave = new JButton("Save");
btnSave.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
        // send the value of `textName` to GenerateRDF
       String getName = textName.getText(); // retrieve the value 
       // do something with it
    }
}); 
有一个你必须调用的方法。。。方法


您可以这样做:

public class PersonalInfo extends JPanel {
private void initialize() {
    ....
    JTextPane textName = new JTextPane();
    textName.setBounds(95, 36, 302, 20);
    panel.add(textName);

    JButton btnSave = new JButton("Save");
    btnSave.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            // send the value of `textName` to GenerateRDF
           GenerateRDF generator = new GenerateRDF();
           generator.setRDF(textName.getText());
        }
    }); 
  }
}

public class GenerateRDF {
  public void setRDF(String fullName) {
    String personURI    = "http://localhost/amitkumar";

    // print here the value received from the `PersonalInfo` class
    System.out.println(fullName);
    Model model = ModelFactory.createDefaultModel();

    Resource node = model.createResource(personURI)
             .addProperty(VCARD.FN, fullName);
    model.write(System.out);
  }
}

请参考此类似示例:按下按钮时是否要创建
GenerateRDF
对象,并将
textName
字段的文本发送给它?@Titus,是的,完全正确!我更新了我的问题
public class PersonalInfo extends JPanel {
private void initialize() {
    ....
    JTextPane textName = new JTextPane();
    textName.setBounds(95, 36, 302, 20);
    panel.add(textName);

    JButton btnSave = new JButton("Save");
    btnSave.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            // send the value of `textName` to GenerateRDF
           GenerateRDF generator = new GenerateRDF();
           generator.setRDF(textName.getText());
        }
    }); 
  }
}

public class GenerateRDF {
  public void setRDF(String fullName) {
    String personURI    = "http://localhost/amitkumar";

    // print here the value received from the `PersonalInfo` class
    System.out.println(fullName);
    Model model = ModelFactory.createDefaultModel();

    Resource node = model.createResource(personURI)
             .addProperty(VCARD.FN, fullName);
    model.write(System.out);
  }
}