전함을 만들기 위해 노력하고 있습니다. 전 보드를 통제하고 있습니다. 어떻게하면 각 버튼이 위치를 반환 할 수 있도록 배열을 만들 수 있습니까? 배송 및 안타와 물건을 저장합니다. 각 개별 버튼을 만들고 싶지만 어떻게해야하는지 잘 모르겠습니다.배열에 개별 버튼 이름을 만들려면 어떻게합니까?
1
A
답변
2
당신은 버튼 클래스를 확장 할 수 :
public class BattleShipButton extends JButton {
private Coordinate coords;
public BattleShipButton(Coordinates coords) {
this.coords = coords;
setPreferredSize(new Dimension(20, 20));
}
public Coordinates getCoordinates() {
return coords;
}
}
그런 다음 루프의 버튼을 인스턴스화하고 정확한 좌표를 전달 할 수있다.
그러면 각 단추는 getCoordiantes()
을 사용할 때 얻을 수있는 올바른 좌표를 갖게됩니다.
0
그냥 매트릭스에서 해보십시오. 자신의 위치, 색인이 충분한 지 알고 싶다면.
당신은 싶어, 당신이 반환하는 기능을 가지고
0
그냥이는 아무것도하지만 보다 더 나은 내가 사용하는 양식 응용 프로그램 이동을 도울 수없는 경우 그 위치를 자신의 버튼을 생성하고 할 수 있습니다 더 구체적으로하는 경우 앞서 당신은 내가 버튼을 클릭 이벤트 :
을 잡기 위해 이벤트를 만드는 데 필요한 것이다 이러한 코드 후이Button[] Barray = new Button[32,32];
than you will have to fill this array
for (int i = 0; i <= a - 1; i++)
{
for (int j = 0; j <= b - 1; j++)
{
Barray (i, j) = new Button(); // here you create a dynamic button
Barray (i, j).Location = new System.Drawing.Point(x, y); // here you locate the button in to your box or in a similar container
Barray (i, j).Size = new System.Drawing.Point(23, 23); // in this line you resize your button
Barray (i, j).Name = i + j; // in this lie you rename your button so that you will be able to reach your button and know what is its location
Barray (i, j).Click += Button_Click; // in this line you will add the button_click event to your dynamic buttons
Form1.box.Controls.Add(dizi(i, j)); // and this line adds your button to your container
x += 23; // in this line i am increasing the x location so i the buttons will not be placed at the same x location
}
x = 0; // this line i ll make x zero that means i m finis previous line and i ll start to place buttons on another line
y += 23; // this line i m increasing the y location to move the next line
}
같은 배열을 만들 수 있습니다
를 살펴
private void button_Click(object sender, System.Windows.Forms.MouseEventArgs e)
{
//here you can use e eventargs reach your buttons name so you can do anything you want :)
}
희망이 당신
+0
어디에서 C#을 보았습니까? – adamax
0
이 AbstractAction로를 확장하는 새로운 클래스를 만들 수 있습니다. 좌표를위한 속성을 부여하고 새 인스턴스를 만들고 버튼을 만들 때 JButton의 생성자에 전달합니다.
이렇게하면 Action 클래스의 clickPerformed 메소드를 오버라이드하여 버튼 클릭 이벤트가 동일한 클래스에 모두 잘 정리 된 좌표를 사용할 수있게합니다.
관련 문제
- 1. 버튼 막대의 개별 버튼 비활성화
- 2. TinyMCE : 개별 버튼 활성화
- 3. 배열에 요소를 추가하려면 어떻게합니까?
- 4. lispworks에있는 개별 버튼 비활성화 : 푸시 버튼 패널
- 5. 배열에 행과 열을 추가하려면 어떻게합니까?
- 6. 컴파일러 줄을 짧게 만들려면 어떻게합니까?
- 7. DynamicMethod를 보안에 중요하게 만들려면 어떻게합니까?
- 8. 사양 이름을 보려면 어떻게합니까?
- 9. 드루팔 (drupal) 형식의 개별 라디오 버튼 스타일링
- 10. 개별 페이지에서 ajaxpro * .ashx 처리기를 제거하려면 어떻게합니까?
- 11. 이미지를 드래그 할 수있게 드래그하여 개별 이미지 이름을 기록하십시오.
- 12. iPhone 버튼 모양의 채우기는 어떻게합니까?
- 13. 안드로이드에 배열에 .txt 파일 이름을 저장하십시오.
- 14. 행과 열을 NUMPY 배열에 추가하려면 어떻게합니까?
- 15. 데이터베이스에서 비슷한 이름을 찾으려면 어떻게합니까?
- 16. msiexec : 제품 이름을 표시하려면 어떻게합니까
- 17. 변수 이름을 함수 이름으로 만들려면 어떻게해야합니까?
- 18. 문자열을 기반으로 Perl 변수 이름을 만들려면 어떻게해야합니까?
- 19. 격자보기 행을 편집 가능하게 만들려면 어떻게합니까?
- 20. 정규 표현식의 특정 부분을 선택적으로 만들려면 어떻게합니까?
- 21. 내 사이트 ssl에 양식을 만들려면 어떻게합니까
- 22. 명령 줄에서 Macintosh Finder 별칭을 만들려면 어떻게합니까?
- 23. P4Win보기와 같은 perforce 명령 줄보기를 만들려면 어떻게합니까?
- 24. 다른 응용 프로그램의 창을 투명하게 만들려면 어떻게합니까?
- 25. 모든 mysql 경고에서 치명적인 오류를 만들려면 어떻게합니까?
- 26. 솔루션 전체 연결 문자열을 만들려면 어떻게합니까?
- 27. 키보드를 UITextField에 배경이 투명하도록 만들려면 어떻게합니까?
- 28. XAML에서 동적 이름을 사용하여 WPF 버튼 만들기
- 29. render 동안 gridview의 라디오 버튼 이름을 변경합니다.
- 30. jquery-ui-datepicker의 버튼 래퍼를 비활성화하려면 어떻게합니까?
JButton에는 화면에서 위치를 유지하는 속성이있을 수 있습니다. – Seva
@Alan, 맞다. 당신은'getLocation()'또는'getLocationOnScreen()'을 사용할 수있다. 이것은 당신에게 논리적 인 전함 좌표를 줄 것입니다. – jjnguy
고맙습니다 :) – matt