JPanelのから特定の名前のJButtonが削除

GooseWithDaGibus:

X、Y:私は、私はこのような座標に設定され、その名前でJButtonがのグリッドを作るためにループを使用して、このパネルには、JPanelのはtilesLayerと呼ばれています。私は、ループ内でこれらのボタンの数を削除する必要があります。私はそれはそれは、行を削除します押されたキーだときのために設定リスナーを持っています。I .remove()のを使用しようとしました。方法。しかし、私は、1,2または1,3または1,3と呼ばれ、その上で私がボタンを削除することができます構文を見つけるように見えることはできません。いただきましたことを行うための適切な構文?

ここで私のフィギュアループは次のようになります:cullXは、以前のコードで決定され、その48正確には。xCordとyCordはすでに同様の手の前に知っています。しかし、明らかに私が使用している構文がremoveメソッドを修正しないで、そしてそれは私が把握するために必要なものです。

 while (buttonsRemoved <= cullX) {
        tileLayer.remove(xCord + "," + yCord);
        buttonsRemoved++;
        xCord++;
    }
アブラ:
  1. 内のコンポーネントのリストを取得しますtileLayer
  2. リストを反復。
  3. それがある場合は、各コンポーネントについて、確認してくださいJButton
  4. それがある場合、そのテキストは、あなたが探しているテキストの場合は、確認してください。
  5. それがある場合は、からそれを削除 tileLayer

アルゴリズムの上に実装するコード:

java.awt.Component[] components = tileLayer.getComponents();
for (java.awt.Component component : components) {
    if (component instanceof javax.swing.JButton) {
        javax.swing.JButton button = (javax.swing.JButton) component;
        String text = button.getText();
        if (text.equals(xCord + "," + yCord) {
            tileLayer.remove(component);
        }
    }
}

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=401126&siteId=1