2016-04-10 8 views
-2
JButton btn = new JButton(); 
JButton[][] boutons = {{btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}, {btn, btn, btn, btn, btn, btn, btn, btn, btn}}; 


public Fenetre() { 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 450, 300); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     contentPane.setLayout(new GridLayout(9, 9)); 
     setContentPane(contentPane); 

     for (int ligne=0;ligne<boutons.length;ligne++) { 
      for(int colone=0;colone<boutons[ligne].length;colone++) { 
       JButton bouton = boutons[ligne][colone]; 
       bouton.setName(String.valueOf(ligne) + " : " + String.valueOf(colone)); 
       System.out.println(String.valueOf(ligne) + " " + String.valueOf(colone)); 
       bouton.addActionListener(this); 
       contentPane.add(bouton); 
      } 
     } 


} 

9x9 Jbuttons(JButtonの配列内にある)を表示し、各JButtonに名前を設定して後で情報を取得したいとします。 しかし...私は私のJPanelに一つだけのJButtonを持っている.....問題のJButtonの配列にある9x9 Jボタンを表示するにはどうすればいいですか?

+0

これは81のボタンを必要とします。 。 –

+0

1)F [MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿して、より早く助けてください。 2)Java GUIは、異なるロケールで異なるPLAFを使用する異なるOS、画面サイズ、画面解像度などで動作する必要があります。したがって、ピクセルの完全なレイアウトには役立ちません。代わりに、レイアウトマネージャや[それらの組み合わせ](http://stackoverflow.com/a/5630271/418556)と[空白](http://stackoverflow.com/a/17874718/)のレイアウトパディングとボーダーを使用してください。 418556)。 –

答えて

2

原因:このように、同じボタンbtn

にご使用のアレイポイントの

すべての要素それらを追加すると、既にパネルにある同じボタンだけが追加されます。したがって、1つのボタンしか表示されません。

それを解決する方法

:あなたの配列の宣言で

  • new JButton()ですべてbtn Sを交換してください。 IDEのreplace関数を使用すると簡単にこれを行うことができます。

または

  • 同じように配列を宣言:

    JButton[][] boutons = new JButton[9][9]; 
    

    とループのためにあなたにこの行を追加します。

    bouton = new JButton(); 
    
関連する問題