2012-03-04 2 views
1

이 2D JButton 배열 (흰색)이며 원하는 것은 사각형을 클릭하면 주황색이됩니다. 다른 사각형을 클릭하면 해당 사각형도 주황색이되지만 클릭 한 첫 번째 사각형은 일반 흰색으로 돌아갑니다. 모든 사각형이 오렌지색이되지 않고 어떻게해야합니까? 나는 숫자와 사각형을 클릭하면 enter image description here2D 버튼 배열 ActionListener, 색상이 변경 되었습니까?

가, BTW, 자신의 색상을 변경 setEnabled(false) 버튼 등 그들을 생각하지 않는다 :

여기 시각화입니다. 단추의 색상을 변경하는 방법을 이미 알고 있습니다. 색상이 사각형 뒤에 어떻게 전달되는지 알고 싶습니다.

도움을 주실 수있는 분들께 감사드립니다!

편집 : "시도"하지만 내 모든 null 버튼이 주황색으로 변합니다.

button[i][j].addActionListener(new ActionListener() { 

    public void actionPerformed(ActionEvent e){ 
     for(int i = 0; i < button.length; i++) 
      for(int j = 0; j < button.length; j++){ 
       if(g.gameBoard[i][j] == null){ 
        //must find the position where the user clicks and make it orange 
        button[i][j].setBackground(Color.ORANGE); 
       } 
      } 
     } 
}); 
+1

[무엇을 시도해 보셨나요] (http://mattgemmell.com/2008/12/08/what-have-you-tried/)? 정확히 어디에서 붙어 있니? 내 돈을 위해 버튼이 색상 변환 이외의 본질적인 "동작"을 가지고 있지 않다면 JLabel과 MouseListener를 사용하지만 JLabel의 불투명 한 속성을 true로 설정하여 그들의 배경색. –

+2

JToggleButtons의 배열을 사용할 수 있습니다. 더 나은 도움을 받으려면 [action eventener]에 JButton의 인스턴스에서 만들려고했던 [SSCCE] (http://sscce.org/) – mKorbel

+0

@HovercraftFullOfEels로 게시물을 편집하십시오. 'ae.getSource() instance of JButton'하지만 클릭 할 때 모든 버튼이 주황색으로 변합니다. – alicedimarco

답변

3

당신은 JToggleButton를 사용하고 그룹으로 그들을 치료하고 활성화 된 하나의 색상을 설정할 수 있도록 ButtonGroup에 넣어.

P. 내가 더 설명하려고하는 어떤 질문이 있다면 나는이 스레드와 다음 24 시간 동안 접촉을 유지할 것이다.

+0

고마워! 나는 오늘 밤 그것을 시험해 볼 것이다. – alicedimarco

+0

쿨! 그것은 효과가있다! 고마워요! 더 이상 오렌지색으로 색을 바꿀 계획이 아닙니다. :) – alicedimarco

-1
if(e.getSource()== null) 
{ 
    //must find the position where the user clicks and make it orange 
    button[i][j].setBackground(Color.ORANGE); 
} 

위의 코드를 public void actionPerformed (ActionEvent e) 메서드에 사용하십시오.