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

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

如何在執(zhí)行操作后移動(dòng)按鈕?

如何在執(zhí)行操作后移動(dòng)按鈕?

慕虎7371278 2024-01-05 15:09:25
我正在開發(fā)一個(gè)使用 GridLayout 的程序。當(dāng)我嘗試在執(zhí)行操作后將按鈕移動(dòng)到另一個(gè)位置時(shí)遇到問題?;旧?,我在面板中有一個(gè)按鈕大小的空白區(qū)域。我想將點(diǎn)擊的按鈕移動(dòng)到這個(gè)空白區(qū)域,相反,空白區(qū)域?qū)⑷〈@個(gè)按鈕。我正在使用數(shù)組來獲取看起來像框架的模型。所以我知道數(shù)組中的空白空間在哪里(這是 JButton 數(shù)組中的空值),并且我試圖使該按鈕占據(jù)數(shù)組中空白空間的位置,反之亦然。但這并沒有真正起作用。任何幫助將不勝感激。private void setGame(int nbLines, int nbRows, int emptyX, int emptyY) {    pane.removeAll();    for (int i = 0; i < model.length; i++) {        for (int j = 0; j < model[i].length; j++) {            if (!(j == emptyY && emptyX == i)) {                button = new JButton("A");                model[i][j] = button;                pane.add(model[i][j]);                model[i][j].addActionListener(this);            }        }    }    frame.add(pane);    frame.setVisible(true);}public void actionPerformed(ActionEvent e) {    for (int i = 0; i < model.length; i++) {        for (int j = 0; j < model[i].length; j++) {            if (e.getSource() == model[i][j]) {                System.out.println("Cordonnées de i : " + i + "Cordonnées de j : " + j);                model[i][j] = null;                setGame(nbLignes, nbCol, i, j);            }        }    }}
查看完整描述

1 回答

?
米琪卡哇伊

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

基本上,我在面板中有一個(gè)按鈕大小的空白區(qū)域。

你不能有一個(gè)空的空間。您需要向面板添加一個(gè)實(shí)際的組件來填充 GridLayout 中的空間。

所以我建議你可以這樣做:

  1. 將所有按鈕添加到 GridLayout

  2. 生成一個(gè)隨機(jī)數(shù)來確定哪個(gè)單元格應(yīng)該為空。將此值保存為“空單元格”。然后使用Container.remove(...)刪除該單元格中的按鈕。然后,您使用該Container.add(component, index)方法添加一個(gè)不帶文本的 JLabel 來填充空單元格。

  3. 然后,當(dāng)您單擊按鈕時(shí),您將使用該Container.getCompnent(...)方法迭代面板中的所有組件,直到找到被單擊按鈕的索引。

  4. 現(xiàn)在您有兩個(gè)索引:空單元格和單擊的單元格。然后使用remove(...) 和add(...) 方法來交換這兩個(gè)組件。

  5. 交換完成后,您將“空索引”更新為“單擊索引”的值。


查看完整回答
反對(duì) 回復(fù) 2024-01-05
  • 1 回答
  • 0 關(guān)注
  • 146 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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