NetBeans로 Java 프로그래밍을하고 있습니다. 나는 이상한 문제가있다. 클래스 마우스 리스너에서캐스트 구성 요소 [] -> JButton
JButton[] b= (JButton[])Main.p1.getComponents();
IDE가 표시되지 않습니다 .. 나는 패널의 getComponents을, 그리고 내가 한 배열하는 JButton (오순절 캐스트) 정도면 (?) 넣어 구성 요소의 배열을 반환 오류. 예를 들면 다음과 같습니다.
b[0].setBackground(Color.yellow);
출력에 오류가 있습니다.
하지만
JButton b= (JButton) Main.p1.getComponents()[0];
b.setBackground(...);
을 그리고 모든 작동하지만 내가 왜 이해하지 않는 경우. 누군가 제발 설명해 줄 수 있니?
2015-01-18
답장을 보내 주셔서 감사합니다. 변경 배경의 색상뿐만 아니라 오디 닛 (Ordinates)에 대해서도 패널 구성 요소를 가져오고 싶습니다. 같은 시간에 모든 것을 비교할 배열의 모든 단추가 필요합니다. 왜 '단추'의 '구성 요소'를 변환 할 수 있습니까? 패널 램 메모리에있는 버튼에 대한 포인터를 가지고 .. Patryk Dobrowolski 내가 이것을 시도,의에게 감사 :
Button[] button = new Button[Main.p1.getComponents().length]; for (int i = 0; i < Main.p1.getComponents().length; i++) { button[i] = (Button) Main.p1.getComponents()[i];
}
그러나 출력 내가이 오류가 (내가 클래스 버튼의 JButton를 확장 사용) :
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JLabel cannot be cast to Button
왜 JLabel?
Hovercraft Full of Eels, 고맙습니다. 답변을 드리겠습니다. 배열을 만들고 모든 Button 포인터를 삽입 할 수 있습니다. 하지만 내가 말했듯이 : JPannel에는 배열 포인터가 있는데 .. 내가 그것을 사용할 수있다. 왜 안돼? 대단히 감사합니다! 첫 번째 경우에서 알레산드로 Amedei
[코드 형식] (http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks)를 입력하십시오. – MightyPork
더 많은 코드가 도움이 될 것이며 실제 오류 메시지도 도움이 될 것입니다. 나는 당신이'getComponents()'를 사용하는 것에 대해 걱정하고 프로그램 디자인이 향상 될 수 있는지 궁금해한다. 또한 JButton에 MouseListener를 추가하지 않기를 바랍니다. –