0

私はsのグリッドを持っていJLabelます。それらをすべてArrayListに追加しました。MouseClickListener繰り返しを通じてそれらすべてに sを追加するにはどうすればよいですか。次の行だけで何か:

    for (int i=0;i<145;i++)
    jLAL.get(i).addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jLabelMouseClicked(evt, jLAL.get(i));
        }
    });

jLAL は jLabelArrayListです。もちろん、ここでの悪い点は、それが最終的なものではないということです。

4

3 に答える 3

0

BlackBox ソリューションをコードに実装できない場合は、リスナーをJLabel最終的な場所に追加するメソッドを作成するだけです。

    for (int i=0;i<145;i++) {
      addListener(jLAL.get(i));
    }
  }

  private void addListener(final JLabel jLabel) {
    jLabel.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(java.awt.event.MouseEvent evt) {
        jLabelMouseClicked(evt, jLabel);
      }
    });
  }
于 2013-04-10T13:50:02.240 に答える