SwingPropertyChangeSupport for Dynamic JTextArea Updates
問題描述:
問題描述:問題描述:
代碼概述:提供的代碼利用 SwingPropertyChangeSupport 來促進財產變更事件。使用 arrayForUpdate.instructionsIn(newValue, a) 更新數組,其中 newValue 是修改的輸入,a 是數組索引。
問題排查:<code class="java">public void setBoundProperty(String boundProperty) { String oldValue = this.boundProperty; System.out.println("old = " + oldValue); String newValue = boundProperty; System.out.println("new = " + newValue); this.boundProperty = newValue; spcSupport.firePropertyChange(BOUND_PROPERTY, oldValue, newValue); }</code>之後檢查程式碼,問題似乎出在 ArrayForUpdating 類別中的 setBoundProperty 方法。
<code class="java"> spcSupport.firePropertyChange(BOUND_PROPERTY, oldValue, newValue);</code>setBoundProperty 方法的問題是使用不正確的參數來呼叫 firePropertyChange 方法。受影響的代碼標記如下:
<code class="java"> spcSupport.firePropertyChange(BOUND_PROPERTY, boundProperty, newValue);</code>在此特定情況下,firePropertyChange的正確用法為:
<code class="java">public void setBoundProperty(String boundProperty) { String oldValue = this.boundProperty; System.out.println("old = " + oldValue); String newValue = boundProperty; System.out.println("new = " + newValue); this.boundProperty = newValue; spcSupport.firePropertyChange(BOUND_PROPERTY, oldValue, newValue); }</code>
應用更正後,以下代碼準確反映了修改片段:
摘要:通過對setBoundProperty 方法進行此調整,可以正確建立陣列和JTextArea 之間的綁定過程。因此,GUI 現在將成功反映透過輸入對話方塊所做的任何更改。以上是如何正確使用 SwingPropertyChangeSupport 進行動態 JTextArea 更新?的詳細內容。更多資訊請關注PHP中文網其他相關文章!