2013-02-24 1 views
0

그래서 GUI 클래스와 다른 모든 것을 담을 클래스가있다. 나는 다른 클래스의 ArrayList에 있고 나는 지금까지이 ArrayList의자바가 다른 클래스의 arraylist를 JList에 넣는다.

에 GUI에서의 JList의 내용을 채우는 싶습니다

filmList = new JList(films.toArray()); 
getContentPane().add(filmList); 
filmList.setBounds(27, 21, 638, 165); 

그것은 단지 영화를 좋아하지 않는다. 다른 클래스에 있기 때문에 toArray(). 내가 뭘 놓치고 있니?

이것은 현재 내 FilmSystem 클래스입니다.

import java.util.ArrayList; 

공용 클래스 FilmSystem {

문제는 명확하지에서
public FilmSystem() { 

    ArrayList<String> films = new ArrayList<String>(); 
    films.add("A"); 
+0

이 편집 참조 : http://stackoverflow.com/posts/15056563/revisions을 즉 불필요한 소음. – Doorknob

+0

질문 : 우리가 도와 줄 수있는 더 많은 코드가 필요합니다. – Doorknob

+0

ArrayList를 가지는 클래스의 이름은 무엇입니까? – Addict

답변

1

하지만, "영화"경우는 해당 클래스의 객체를 생성해야하고 전화를 다른 클래스의 ArrayList의 이름입니다 getter를 사용하여 영화를 만든 다음 toArray를 사용합니다. 아래처럼 :

FilmSystem filmObj=new FilmSystem(); 
filmList = new JList(filmObj.getterMethod.toArray(new String[0])); 

여기서 getterMethod는 클래스에서 정의한 getter 메소드의 이름이어야합니다. getter 메소드를 정의하지 않았다면 객체에 Arraylist를 직접 호출 할 수 있습니다. 게터가 정의되지 않은 경우

후 다음 사용

FilmSystem filmObj=new FilmSystem(); 
filmList = new JList(filmObj.films.toArray(new String[0])); 
+0

죄송합니다. 내 질문을 다시 읽습니다. 다소 모호합니다. 응, 내 arraylist 영화 FilmSystem 클래스에서 호출됩니다. FilmGUI 클래스에서 FilmSystem 객체를 만들었습니다. 나는 게터 방법에 대해 어떻게 말하겠습니까? 나는 그것이 films.get()과 같이 간단하지 않을 것이라고 추측하고있다. ? – user2092012

+0

내 FilmSystem 클래스를 보여줄 수 있습니까? – Addict

+0

물론 맞습니다. 내 질문을 편집했습니다. – user2092012

1

배열의 요소의 종류와 무관 명확한 형태를 갖는다. JList<String>을 만들 때는 Object []가 아닌 String [] 형식의 배열을 전달해야합니다. 0 인수 인 toArray() 메서드는 배열의 요소가 모두 String과 같은 특정 클래스 일 수 있더라도 항상 Object [] 인 배열을 반환합니다.

특정 유형의 배열을 얻으려면 toArray 방법에 원하는 종류의 배열을 건네

filmList = new JList<String>(films.toArray(new String[0]));