정수 목록의 요소를 가져 와서 레이블에 추가하고 하나씩 순서대로 인쇄하려고합니다. 나는 그것을 위해 다음과 같은 코드를 작성했다.자바 스윙 코드의 문제점
public static JFrame ListDraw(JFrame frame , ArrayList<Integer> e)
{
for(int i= 0;i<e.size();i++)
{
JLabel j = new JLabel(e.get(i).toString(),JLabel.CENTER);
frame.add(j);
}
return frame;
}
하지만 레이블에 마지막 배열 요소 만 인쇄합니다. 여기서 내가 뭘 잘못하고 있니?
--------------------- (업데이트)
이것은 단지 내가 같은 일에 관한 한 쿼리입니다. 그러므로 나는 여기서만 물어볼 것입니다. 세로 정렬 에서처럼 레이블 항목을 스택에 인쇄 할 수있는 방법이 있습니까? 지금은 모든 값을 가로로 인쇄합니다.
귀하의 질문에 대답하지 않지만 API에 대해 약간의 호언 장담을해도 ... 귀하의 메소드가 JFrame을 반환하는 이유는 무엇입니까? 메소드가 인수 중 하나를 수정하려는 경우,이를 수정하십시오. JFrame을 반환하면 클라이언트가 제공 한 것과 어떻게 다른지를 알 수 있습니다. 이 경우 사실이 아닙니다. 무언가를 반환해야한다면 무효로 돌아가거나 성공/실패의 지표를 반환해야합니다. 또한 소문자를 사용하여 메서드 이름을 시작하십시오. –
정말 고마워. :) 그래, 내가 아직 초보 프로그래머이기 때문에 그렇다. 매일 새로운 것을 배우게됩니다. 감사합니다 ... –
레이블을 세로로 인쇄하려면 BoxLayout을 사용하고, 레이블의 너비를 동일하게하려면 GridLayout을 사용해보십시오. 이 설명서를 살펴보십시오. http://www.macs.hw.ac.uk/guidebook/?name=Layouts&page=1 – bancer