代码之家  ›  专栏  ›  技术社区  ›  Amit

如何在JAVA Swing中更新JTXTaReA?

  •  2
  • Amit  · 技术社区  · 14 年前

    我有一个名为“jcombobobox18”的jcombobox和一个名为“jtexarea11”的jtexarea。现在,我希望每当从“jcombobobox18”组合框中选择一个项目时,其相应的描述都显示在“jtexarea11”文本区域中。

    我已经向jcombobox添加了适当的侦听器,但jtext区域没有显示任何文本。我写的代码如下:

    private void jComboBox18ItemStateChanged(java.awt.event.ItemEvent evt) {
    
        Object item = jComboBox18.getSelectedItem();
    
        if(item != null) {
            ems.logic.Process selectedProcess = (ems.logic.Process)item;
    
            jTextArea11.setText(selectedProcess.getProcessDescription());
            jTextArea11.updateUI();
            jTextArea11.revalidate();
            jTextArea11.validate();
        } 
    }
    

    =================编辑时间====================================

    确实要调用该方法。我正在更改另一个组合框的状态 它也在这个方法中编写,每当从“jcombobobox18”中选择项时,它的状态都会成功地更改。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Chad Okere    14 年前

    我认为这应该管用。实际上,您应该只需要settext()调用。我猜你的功能因为某种原因没有被调用。在代码中设置一个断点,并确保它被调用。

        2
  •  0
  •   sateesh    14 年前

    在显示的代码中,您的方法命名为 jcombobobox18itemstatechanged 。是否确定正在调用此方法。jcomboBox的itemListener应该实现接口 itemListener ,它声明子类应该实现下面的方法。 <代码> >/P>

    void itemstatechanged(itemEvent e);
    < /代码> 
    
    

    如何将itemListener实例添加到JComboBox中?

    <编辑> < BR> 在阅读了你的编辑和评论之后,我可以想到的是: 您有一个监听器,它在更新文本区域时触发,可能正在撤消jcombobox监听器中所做的更改。

    代码显示您的方法命名为jComboBox18ItemStateChanged. 是否确定正在调用此方法。jcomboBox的itemListener应该实现接口程序监听器它声明子类应该实现下面的方法。

    void itemStateChanged(ItemEvent e);
    

    如何将itemListener实例添加到JComboBox中?

    编辑:
    在阅读了你的编辑和评论之后,我可以想到的是: 您有一个监听器,它在更新文本区域时触发,可能正在撤消jcombobox监听器中所做的更改。