Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JComboBox ItemStateChanged listener用XML中的数据填充JTextField_Java_Xml_Object_Dom - Fatal编程技术网

Java 使用JComboBox ItemStateChanged listener用XML中的数据填充JTextField

Java 使用JComboBox ItemStateChanged listener用XML中的数据填充JTextField,java,xml,object,dom,Java,Xml,Object,Dom,不幸的是,由于我的工作地点,我无法向这个网站提供代码。话虽如此,我将尽可能详细。我正在使用aan XML文件填充基于“Name”元素的JcomboBox。我让那部分工作。我这样做的方式是使用DOM方法,为每个节点创建in对象,然后使用set方法获取所需的属性 现在我需要根据所选内容填充一个文本字段。我正在努力找出如何将所选内容与我需要的内容相关联。例如,假设我有一个名为“Reference_Point_ID”的节点,我需要拉取名为“Latitude”的子节点来填充JTextField。如何将子节

不幸的是,由于我的工作地点,我无法向这个网站提供代码。话虽如此,我将尽可能详细。我正在使用aan XML文件填充基于“Name”元素的JcomboBox。我让那部分工作。我这样做的方式是使用DOM方法,为每个节点创建in对象,然后使用set方法获取所需的属性

现在我需要根据所选内容填充一个文本字段。我正在努力找出如何将所选内容与我需要的内容相关联。例如,假设我有一个名为“Reference_Point_ID”的节点,我需要拉取名为“Latitude”的子节点来填充JTextField。如何将子节点与父节点关联以提取正确的数据

再次抱歉,我不能提供代码,但任何帮助将不胜感激。谢谢。更新-解决方案 对于可能需要此信息的任何其他人

为了将我需要的数据拉入JComboBox,我必须修改模型,如下所示:

public TestReferencePointXMLReaderGUI()
{
    initComponents();
    ReferencePointReader referencePointReader = new ReferencePointReader("path to your xml file");

    List<ReferencePointObject> listOfData = referencePointReader.getData();
    DefaultComboBoxModel<ReferencePointObject> model =
        (DefaultComboBoxModel<ReferencePointObject>) jComboBoxRefPointSelector.getModel();
    for (ReferencePointObject referencePointObject : listOfData)
    {
        model.addElement(referencePointObject);
    }

}
    private void jComboBoxRefPointSelectorItemStateChanged(java.awt.event.ItemEvent evt)                                                           
{                                                               
    if (evt.getStateChange() == ItemEvent.SELECTED)
    {
        Object selected = jComboBoxRefPointSelector.getSelectedItem();
        ReferencePointObject selectedReferencePoint = (ReferencePointObject) selected;
        jTextFieldLat.setText(selectedReferencePoint.getLat());
        jTextFieldLong.setText(selectedReferencePoint.getLng());
    }
}