第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用JFrame作為自定義輸入框

使用JFrame作為自定義輸入框

子衿沉夜 2023-08-16 10:12:28
我正在開(kāi)發(fā)一個(gè)基于 java swing 的應(yīng)用程序,其中有兩個(gè)JFrames: A,它是主窗口,以及B,它被調(diào)用A。我需要做的是, in A, call B,從中獲取用戶輸入B并將該輸入傳遞給A某種方式,然后處理它我嘗試過(guò)的一切都失敗了,據(jù)我所知Java不支持async/await這是我最好的嘗試    public void getInfoFromB()    {        FormB b = new FormB();        while(b.isReady() == false){            a.setVisible(false);        }        a.setVisible(true);        ArrayList<String> b.getData();        //...    }請(qǐng)注意,objects extendsa和isReady 都是返回用戶已填寫所需所有數(shù)據(jù)的天氣方法,而 getData 方法返回所述數(shù)據(jù)bJFrameFormB這種嘗試似乎不起作用,因?yàn)橐坏┐a進(jìn)入 while 循環(huán),其他所有內(nèi)容都會(huì)凍結(jié),因?yàn)?java 似乎很難處理并行操作
查看完整描述

2 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

您只需使用 aJOptionPane來(lái)提示輸入。

主框架將等到選項(xiàng)窗格關(guān)閉才能獲取用戶輸入的文本。

查看完整回答
反對(duì) 回復(fù) 2023-08-16
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

可以通過(guò)引用將 A 傳遞到 B (顯然所有對(duì)象都是通過(guò)引用傳遞的,因此不需要使用指針)。從那里,我可以操縱來(lái)自 A 和 B 的數(shù)據(jù)


A級(jí)


public void getDataFromB(ArrayList<String> data)

{

    this.dataFromB = data;

}


public void startFormB()

{

    this.setVisible(false);

    B formB = new B(this);

}

B級(jí)


//constructor

public B(formA a)

{

    this.mainForm = a;


    //...

}



public void setDataToAAndExit()

{

    this.mainForm.getDataFromB(this.dataToA);

    //re-show main window

    this.mainForm.setVisible(true);

    //close this window

    this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING));

}


查看完整回答
反對(duì) 回復(fù) 2023-08-16
  • 2 回答
  • 0 關(guān)注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)