2014-02-25 4 views
-1

나는 프로그래밍에 익숙하지 않으며 코드 리스닝을하지 않고도 독립적으로 동작하는 수천 개의 J 버튼을 모두 만들고 싶습니다. 각자 하나씩. 내가 보관하는 방법은 무엇입니까J 버튼 그리드 (자바에서 동적으로 J 버튼을 생성하는 방법)

+2

높은 몇 가지 중 하나 ...'에 대한-loop' 마음에 온다 ... – MadProgrammer

+2

왜 지구에 1000 JButton의 그리드를 원하는 사람이 있습니까? 한 번에 여러 개와 만 상호 작용할 수 있습니다. 이 디자인이 고장 났고 고쳐 져야한다는 것을 알 수 있습니다. –

답변

1

Hovercraft Full Of Eels이 정확한지 확인하십시오. 당신이하려고하는 것을 다시 생각할 필요가 있습니다. 그것은 자원 낭비입니다. 그리고 재앙이 기다리고 있습니다.

조치 이벤트를 캡처하고 조!에 따라 조치를 트리거 할 수있는 glass pane을 작성하는 것이 좋습니다. 1000 개가 넘는 액션 리스너로 원하는 것보다는 단일 액션 리스너를 사용합니다. 당신은 시각 효과를 원하는 경우에

, 단순히 당신이에 버튼을 넣을 용기의 paint(Graphics g) 메소드를 오버라이드 (override) : Performing Custom Painting

다음은 당신이 질문 한 내용을 보여줍니다하지만. 그것은 GridLayout에서 버튼의 격자를 만들 for 루프를 사용하지만, 난 강력하게 반대하는 것이 좋습니다 :

public static void createGrid(JPanel panel, int numberOfRows, int numberOfColumns) 
{ 
    panel.setLayout(new GridLayout(numberOfRows, numberOfColumns)); 
    for (int c = 0; c < numberOfColumns; c++) 
    { 
     for (int r = 0; r < numberOfRows; r++) 
     { 
     JButton button = new JButton(); 
     button.addActionListener(new java.awt.event.ActionListener() 
     { 
      @Override 
      public void actionPerformed(java.awt.event.ActionEvent evt) 
      { 
      //Add your code here for action event 
      } 
     }); 
     panel.add(button); 
     } 
    } 
} 
+0

감사합니다. – Shadowkillsa

관련 문제