簡體   English   中英

Netbeans GUI和“主”內部的線程處理

[英]Netbeans GUI and dealing with Threads inside “main”

我正在使用Netbeans IDE制作GUI。 關鍵是,當我向項目包中添加JFrame框架時:

創建新的Jframe

它將框架的每個變量(按鈕,textArea,.. etc)聲明為私有,並且無法更改。 當我嘗試創建在main方法內部的run()方法中使用這些變量的線程時,就會出現問題。

注意:我試圖創建單獨的擴展Thread類,除非將其聲明為static ,否則不能在main類中調用它,然后再次出現相同的問題。

我怎樣才能使使用這些變量的線程(即文本追加到文本區)內main

不要嘗試這樣做。 UI元素不得從另一個線程不是事件指派線程訪問。 您可以在Swing中找到有關Oracle Java教程並發性的參考。 提取物(強調我的):

Swing程序員處理以下幾種線程:

  • 初始線程,即執行初始應用程序代碼的線程。
  • 事件調度線程,在其中執行所有事件處理代碼。 與Swing框架進行交互的大多數代碼也必須在此線程上執行。
  • 工作線程,也稱為后台線程,在其中執行耗時的后台任務。

一些Swing組件方法在API規范中被標記為“線程安全”。 這些可以從任何線程安全地調用。 所有其他Swing組件方法都必須從事件分發線程中調用 忽略此規則的程序在大多數情況下都可以正常運行,但是會遇到難以預料的錯誤,這些錯誤很難重現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM