2012-02-08 3 views
0

그냥 Vector of Strings를 가지고 JTextArea로 출력하고 싶다고합시다. 어떤 방법을 사용해야합니까? 내가 아는JFrame의 JTextArea에 벡터를 출력하는 방법은 무엇입니까?

Vector temp = new Vector(); 
String temp = list.getText(i) + '\n'; 
textArea.setText(temp); 

이 작동하지 않습니다

나는 함께 루프를 사용하는 생각을했다. 나는 뭔가 관련있는 일을 append()하는 것에 대해 들었지만, 무엇을해야할지 확신하지 못했습니다. 어떤 팁?

+2

같은 이름의 범위에 두 개의 변수가 있습니다. – Jeffrey

답변

1

음, 가까이에 있습니다. 나는 당신이 의미하는 것은 생각 ... 문자열 값을 추가 루프를 실행 할 때마다

Vector<String> list; 
... 
String tmp = ""; 
for(int i = 0 ; i < list.size(); i++) 
{ 
    tmp = tmp + list.get(i) + "\n"; 
} 
textArea.setText(tmp); 

그리고 다른 의견에 관해서

가, 그래, 대신 문자열의 StringBuffer을 사용하려는거야 ..

Vector<String> list; 
... 
StringBuffer tmp = new StringBuffer(); 
for(int i = 0 ; i < list.size(); i++) 
{ 
    tmp.append(list.get(i) + "\n"); 
} 
textArea.setText(tmp.toString()); 
1

우선, Vector은 동기화 된 컨테이너입니다. 이것이 의미하는 바는 thread가 안전하다는 것입니다. 다중 스레드를 사용하여 액세스하지 않으려는 경우가 아니라면 요점이 있으며 ArrayList을 사용하는 것이 좋습니다. 자바의 정말 고대 버전을 사용하지 않는

이 두 번째로, 당신은 당신이 parametrised 컨테이너를 사용하고 있는지 확인하는 것이 좋습니다 예 :

List<String> list = new ArrayList<String>(); 

JTextArea에 메소드를 확인하기 위해, Java API은 친구입니다.

또한 컨테이너의 모든 요소를 ​​추가하려면 루프를 반복해야합니다.

관련 문제