」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我的JTEXTAREA使用SwingPropertyChangeSupport修改數組後不會更新?

為什麼我的JTEXTAREA使用SwingPropertyChangeSupport修改數組後不會更新?

發佈於2025-02-07
瀏覽:400

Why Does My JTextArea Not Update After Modifying an Array Using SwingPropertyChangeSupport?

SwingPropertyChangeSupport to Dynamically Update JTextArea

SwingPropertyChangeSupport is a class that can be used to monitor changes in the properties of an object.這允許在屬性更改時通知其他對象,這對於相應地更新GUI很有用。

在此示例中,我們使用的是swingpropertychangesupport允許在更改時顯示在jtextarea中顯示的數組通過輸入對話框輸入。數組的更新確定,但是GUI沒有刷新。

這是修改的代碼:

arg){ guiforupdate display = new GuiforUpdate(); display.setvisible(true); } } guiforupdate擴展了Jframe實現ActionListener { /** * */ 私有靜態最終長序列= 1L; 私人焦點列表焦點列表; 私人字符串mlist; 私人jbutton changearraybutton; 私有JTEXTAREA CODERIN,DISSISOUTUP; 私有int arrayIndex; 私人jpanel displaypanel; 私有Arrayforupdating arrayforupDate = new ArrayForupDating(); public guiforupdate(){ 設定(224,180); layoutleft(); layoutdisplay(); layoutbottom(); } /** *添加了一個數組的顯示區域 */ public void layoutdisplay(){ DisplayPanel = new Jpanel(); 添加(displaypanel,borderlayout.center); displayOutput = new jtextarea(); displaypanel.add(displayOutput); DisplayOutput.Addfocuslistener(focusListener); mlist = arrayforupdate.getBoundProperty(); arrayforupdate.addpropertychangelistener(new PropertyChangelistener(){ @Override public void propertyChange(propertyChangeEvent pcevt){ if(pcevt.getPropertyname()。等於( arrayforupdating.bound_property)){ mlist =(pcevt.getNewValue()。toString()); 更新isPlay(); } } }); displayOutput.setText(mlist); } /** *在GUI的左側添加左側元素 */ public void layoutleft(){ jpanel left = new jpanel(); 添加(左,borderlayout.west); Codlein = New Jtextarea(2,2); left.add(codlein); codlein.Addfocuslistener(focusListener); } /** *將底部元素添加到GUI的底部 */ public void layoutbottom(){ jpanel bottom = new jpanel(); changearraybutton = new jbutton(“ modify array”); changearraybutton.addactionListener(this); botton.Add(changearraybutton); 添加(底部,borderlayout.south); } /** *過程按鈕點擊 */ 公共無效的操作表面(ActionEvent AE){ if(ae.getSource()== changearraybutton){ //首先檢查是否輸入任何代碼 if(codein.getText()。trim()。長度()!= 0){ //調用modifyMemory()方法 modifyArray(); } 別的 joptionpane.showmessagedialog(null, “請先輸入一些東西。”); } } /** *處理修改數組的方法 */ public void modifyArray(){ //顯示以檢索輸入地址的對話框 字符串地址tomodify =(string)joptionpane .showInputDialog(“在哪個位置?”); //確認是否輸入字符串 if((((adverseTomodify!= null) //如果輸入十進制地址,請轉換為整數 arrayIndex = integer.parseint(adversionTomodify); } //通過整數通過 ProcessInput(arrayIndex); } public void processInput(int a){ 字符串newValue = codein.getText(); arrayforupdate.instructionsin(newValue,a); } public void updatedisplay(){ displayOutput.setText(mlist); } } 類arrayforupdating { 公共靜態最終字符串bound_property =“ bound屬性”; 私有字符串boundproperty =“”; 私有swingpropertychangesupport spcsupport =新的swingpropertychangesupport( 這); 私人弦樂器mlist; 私人int [] myarray; public arrayforupdating(){ myArray = new Int [5]; for(int i = 0; i
最新教學 更多>
  • 為什麼不使用CSS`content'屬性顯示圖像?
    為什麼不使用CSS`content'屬性顯示圖像?
    在Firefox extemers屬性為某些圖像很大,&& && && &&華倍華倍[華氏華倍華氏度]很少見,卻是某些瀏覽屬性很少,尤其是特定於Firefox的某些瀏覽器未能在使用內容屬性引用時未能顯示圖像的情況。這可以在提供的CSS類中看到:。 googlepic { 內容:url(&...
    程式設計 發佈於2025-04-08
  • 如何使用Python理解有效地創建字典?
    如何使用Python理解有效地創建字典?
    在python中,詞典綜合提供了一種生成新詞典的簡潔方法。儘管它們與列表綜合相似,但存在一些顯著差異。 與問題所暗示的不同,您無法為鑰匙創建字典理解。您必須明確指定鍵和值。 For example:d = {n: n**2 for n in range(5)}This creates a dict...
    程式設計 發佈於2025-04-08
  • Java是否允許多種返回類型:仔細研究通用方法?
    Java是否允許多種返回類型:仔細研究通用方法?
    在Java中的多個返回類型:一種誤解類型:在Java編程中揭示,在Java編程中,Peculiar方法簽名可能會出現,可能會出現,使開發人員陷入困境,使開發人員陷入困境。 getResult(string s); ,其中foo是自定義類。該方法聲明似乎擁有兩種返回類型:列表和E。但這確實是如此嗎...
    程式設計 發佈於2025-04-08
  • 您可以使用CSS在Chrome和Firefox中染色控制台輸出嗎?
    您可以使用CSS在Chrome和Firefox中染色控制台輸出嗎?
    在javascript console 中顯示顏色是可以使用chrome的控制台顯示彩色文本,例如紅色的redors,for for for for錯誤消息? 回答是的,可以使用CSS將顏色添加到Chrome和Firefox中的控制台顯示的消息(版本31或更高版本)中。要實現這一目標,請使用以下...
    程式設計 發佈於2025-04-08
  • 為什麼PYTZ最初顯示出意外的時區偏移?
    為什麼PYTZ最初顯示出意外的時區偏移?
    與pytz 最初從pytz獲得特定的偏移。例如,亞洲/hong_kong最初顯示一個七個小時37分鐘的偏移: 差異源利用本地化將時區分配給日期,使用了適當的時區名稱和偏移量。但是,直接使用DateTime構造器分配時區不允許進行正確的調整。 example pytz.timezone(&#...
    程式設計 發佈於2025-04-08
  • 如何配置Pytesseract以使用數字輸出的單位數字識別?
    如何配置Pytesseract以使用數字輸出的單位數字識別?
    Pytesseract OCR具有單位數字識別和僅數字約束 在pytesseract的上下文中,在配置tesseract以識別單位數字和限制單個數字和限制輸出對數字可能會提出質疑。 To address this issue, we delve into the specifics of Te...
    程式設計 發佈於2025-04-08
  • 如何使用FormData()處理多個文件上傳?
    如何使用FormData()處理多個文件上傳?
    )處理多個文件輸入時,通常需要處理多個文件上傳時,通常是必要的。 The fd.append("fileToUpload[]", files[x]); method can be used for this purpose, allowing you to send multi...
    程式設計 發佈於2025-04-08
  • 如何將來自三個MySQL表的數據組合到新表中?
    如何將來自三個MySQL表的數據組合到新表中?
    mysql:從三個表和列的新表創建新表 答案:為了實現這一目標,您可以利用一個3-way Join。 選擇p。 *,d.content作為年齡 來自人為p的人 加入d.person_id = p.id上的d的詳細信息 加入T.Id = d.detail_id的分類法 其中t.taxonomy ...
    程式設計 發佈於2025-04-08
  • 如何正確使用與PDO參數的查詢一樣?
    如何正確使用與PDO參數的查詢一樣?
    在pdo 中使用類似QUERIES在PDO中的Queries時,您可能會遇到類似疑問中描述的問題:此查詢也可能不會返回結果,即使$ var1和$ var2包含有效的搜索詞。錯誤在於不正確包含%符號。 通過將變量包含在$ params數組中的%符號中,您確保將%字符正確替換到查詢中。沒有此修改,PD...
    程式設計 發佈於2025-04-08
  • 為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    在CSS 問題:不正確的代碼: 全球範圍將所有餘量重置為零,如提供的代碼所建議的,可能會導致意外的副作用。解決特定的保證金問題是更建議的。 例如,在提供的示例中,將以下代碼添加到CSS中,將解決餘量問題: body H1 { 保證金頂:-40px; } 此方法更精確,避免了由全局保證金重置...
    程式設計 發佈於2025-04-08
  • Android如何向PHP服務器發送POST數據?
    Android如何向PHP服務器發送POST數據?
    在android apache httpclient(已棄用) httpclient httpclient = new defaulthttpclient(); httppost httppost = new httppost(“ http://www.yoursite.com/script.p...
    程式設計 發佈於2025-04-08
  • 找到最大計數時,如何解決mySQL中的“組函數\”錯誤的“無效使用”?
    找到最大計數時,如何解決mySQL中的“組函數\”錯誤的“無效使用”?
    如何在mySQL中使用mySql 檢索最大計數,您可能會遇到一個問題,您可能會在嘗試使用以下命令:理解錯誤正確找到由名稱列分組的值的最大計數,請使用以下修改後的查詢: 計數(*)為c 來自EMP1 按名稱組 c desc訂購 限制1 查詢說明 select語句提取名稱列和每個名稱...
    程式設計 發佈於2025-04-08
  • 如何在Java的全屏獨家模式下處理用戶輸入?
    如何在Java的全屏獨家模式下處理用戶輸入?
    Handling User Input in Full Screen Exclusive Mode in JavaIntroductionWhen running a Java application in full screen exclusive mode, the usual event ha...
    程式設計 發佈於2025-04-08
  • 如何使用“ JSON”軟件包解析JSON陣列?
    如何使用“ JSON”軟件包解析JSON陣列?
    parsing JSON與JSON軟件包 QUALDALS:考慮以下go代碼:字符串 } func main(){ datajson:=`[“ 1”,“ 2”,“ 3”]`` arr:= jsontype {} 摘要:= = json.unmarshal([] byte(...
    程式設計 發佈於2025-04-08
  • 為什麼使用Firefox後退按鈕時JavaScript執行停止?
    為什麼使用Firefox後退按鈕時JavaScript執行停止?
    導航歷史記錄問題:JavaScript使用Firefox Back Back 此行為是由瀏覽器緩存JavaScript資源引起的。要解決此問題並確保在後續頁面訪問中執行腳本,Firefox用戶應設置一個空功能。 警報'); }; alert('inline Alert')...
    程式設計 發佈於2025-04-08

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3