簡體   English   中英

在上一個框架中單擊按鈕后,如何在新框架中打開JProgress欄?

[英]how to open a JProgress bar in a new frame after a button click in a previous frame?

這是我正在框架中實現的功能,單擊前一個框架上的按鈕后即會打開...進度欄的框架很容易打開,但未顯示進度...請幫我解決這個問題。

public void iterate() {
    while (num < 2000) {
        current.setValue(num);
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) { }
        num += 95;
    }
}

您的問題是您在Swing事件線程上執行了一段長時間運行的代碼,這會使Swing事件線程以及帶有它的整個GUI進入睡眠狀態。

解決方案是在后台線程中運行一段長時間運行的代碼,例如可以通過SwingWorker獲得的代碼,或者使用Swing計時器來提前您的數字並放棄while(true)和Thread.sleep(...)

還要注意,您的第二個從屬窗口應該是一個對話框,例如JDialog或JOptionPane,而不是另一個JFrame。

暫無
暫無

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

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