特にJavaについて質問がありますJFrame。JFrameで使用しているを持っているとしましょうGridLayout。JButtonにsを追加したJFrameとすると、その位置を使用して目的の位置にアクセスするにはどうすればよいですか(位置によって、グリッド上の正確な場所を定義するために使用されるaxとayを意味します)。たとえばgetComponentAt(int x, int y)、いくつかの方法を試しましたが、これらの方法をと組み合わせると意図したとおりにGridLayout機能しないか、少なくとも私の場合は意図したとおりに機能しないことがわかりました。なので、使ってみgetComponent()ましたが、問題ないようです。
私にとって正しい方向に進んでいるように見える最新の方法は次のとおりです( 7行7列JFrameのaがあり、xが列、yが行であると仮定します)。GridLayout
public JButton getButtonByXAndY(int x, int y) {
return (JButton) this.getContentPane().getComponent((y-1) * 7 + x);
}
画像http://www.freeimagehosting.net/newuploads/9d6hq.jpg
JButton上記を使用して、 at(4、4)、つまりの25番目のJButtonを取得したい場合JFrame、最初に最初の21個のボタンをインデックスに登録し、次に4個を追加して、最後に目的のJButtonにアクセスします。問題は、これが理論上のみそのように機能することです。何か案は?
PS外部のウェブサイトにリンクして申し訳ありませんが、必要な評判がないため、スタックオーバーフローでは画像をアップロードできません。