아이콘의 ArrayList <>을 생성 한 다음 해당 아이콘을 사용하여 인터페이스 JLabel에서 인쇄 할 수 있다면 해결하는데 도움이 필요합니다. 내가하려는 것은 빨강, 초록, 파랑이라고 쓰여있는 3 개의 버튼을 만드는 것입니다. 버튼을 누르면 그 색상으로 사각형이됩니다. 여러 번 누르면 이전 사각형을 삭제하지 않고 여러 개의 사각형을 만듭니다.아이콘을 인터페이스에 삽입하는 방법은 무엇입니까?
redBut.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
icon.addIcon(new SquareIcon(50, Color.red));
label.setIcon(icon.getIcon(icon.getIconsSize()));
System.out.println(icon.getIconsSize());
frame.repaint();
frame.pack();
}
});
이것은 빨간색 버튼이며, 내가 볼 때 알 수 있듯이, 새 아이콘을 ArrayList에 추가합니다. 그런 다음, arraylist의 특정 인덱스에 아이콘을 가져 와서 해당 아이콘으로 레이블을 설정하려고합니다. 그리고 arraylist의 크기를 알아 내서 인덱스 번호를 얻습니다 (arraylist가 0부터 시작하기 때문에). .
println을 사용하여 실제로 arraylist에 추가되는지 테스트합니다.
하지만 여전히 인터페이스에 표시 할 수 없습니까? 또한 여러 아이콘으로 작동합니까?
편집 :
나는 여러 사각형이 창에 표시하기 위해 노력하고 당신이 버튼을 여러 번 클릭 할 때 (나는 그들이 호출 있다고 생각 JFrames을?). 어쨌든, 아이콘을 한 번만 만들면 버튼을 클릭 할 때마다 새 JLabel을 만들어 목록에 저장 한 다음 JLabels에 아이콘 중 하나를 채우는 것이 좋습니다.
redIcon, blueIcon 및 greenIcon의 세 가지 Icon 개체 만 필요하며 여러 번 사용할 수 있기 때문에 한 번만 만들어야합니다. 나머지 문제에 대해서는 실제 정확한 요구 사항이 명확하지 않습니다 (예 : 여러 개의 사각형). 또한, 왜 아이콘의 ArrayList? 왜 JLabels 목록이 없습니까? 또는 Rectangle2D 객체? 더 많은 프로그램 구조를 기술하십시오. –
버튼에 여러 번 클릭 할 때 여러 사각형을 창에 표시하려고합니다 (JFrames라고 부름)? 어쨌든, 아이콘을 한 번만 만들면 버튼을 클릭 할 때마다 새 JLabel을 만들어 목록에 저장 한 다음 JLabels에 아이콘 중 하나를 채우는 것이 좋습니다. – user2972258
아래 답변을 참조하십시오. List를 사용할 필요가 없습니다. –