2011-10-20 3 views
-1

숫자가 알파벳순으로 정렬 된 값의 배열이 있습니다. 입니다. 예를 들면. 목록에는 1, 2, 5, 10, 100, A012B, AB, XY, Z과 같은 값이 있습니다 (동일한 순서로).드롭 다운에 나타나는 값의 순서가 변경됨

이 메서드는 for 루프를 사용하여 StringBuffer에 추가하고 StringBuffer 객체를 문자열로 반환합니다 (sbf.toString() 통해). 메서드는 String 메서드 (메서드 선언에 따라) 만 반환 할 수 있기 때문에이 메서드를 사용할 수 있습니다. 반환 형식을 변경할 수 없습니다 (프레임 워크는 String 형식 만 허용하므로 String이어야합니다).

반환되는 값은 드롭 다운에 표시됩니다. 그러나 값의 순서가 변경되어 1, 10, 100, 2, 5, A012B, AB, XY, Z과 같이 표시됩니다. 값이 arraylist에있는 것과 같은 방식으로 표시되기를 바랍니다. 도울 수 있니?

+5

그건 불가능합니다. 'StringBuffer'는 추가 된 문자열에 특별한 순서를 지정하지 않습니다. 추가 된 문자열이 순서대로 나옵니다. 루프를 게시하십시오. –

+4

이것은'dropdown' 컨트롤을 채우는 코드의 문제입니다. –

+0

그리고 당신은 쉽게 그것을 할 수있는 StringBuffer가 아닌 것을 보았습니다. 이러한 의견에 비추어 본다면 실제 문제를 반영하도록 제목을 편집하는 것이 좋습니다. 당신이 해결책을 원한다면. – EJP

답변

2

데이터를 드롭 다운에 추가하는 코드는 데이터를 정렬하는 것처럼 보입니다. 드롭 다운 목록은 어떻게 만듭니 까? 이것은 Swing 응용 프로그램입니까 아니면 웹 응용 프로그램입니까? 일부 웹 프레임 워크에서는 드롭 다운 목록이 자동으로 정렬되므로이 경우 기본값을 비활성화해야합니다.

StringBuffer는 자동으로 문자열을 정렬하지 않으므로 문제가되지 않습니다. 이를 테스트하려면 목록에 추가하기 직전에 StringBuffer 내용을 명령 행에 출력하십시오.

+0

테스트를 통해 예상대로 올바른 순서가 표시되었습니다 (예 : 1,2,5,10,100, A012B, AB, XY, Z). 나는 'enovia'라는 프레임 워크를 사용하고 있으며,이 코드는이 코드에 쓰여있다. 프레임 워크가 "String"데이터를 다시 정렬하는지 여부는 확실하지 않습니다. –

+0

저는 'enovia'와 함께 일한 적이 없으므로 그것이 무엇을하는지 확실히 말할 수는 없습니다. 프레임 워크는 문자열을 분할하여 드롭 다운 목록에서 작동되도록해야하므로 내용을 정렬하기로 결정해야합니다. 사용중인 프레임 워크 버전에 대한 설명서 링크가 있습니까? – Ewald

+0

이 며칠 전에 내 문제의 해결책을 발견했습니다. 내 프로그램에 문제가 없습니다. 값을 사전 순으로 정렬하고 표시하는 'enovia'프레임 워크의 표시 프로그램에는 또 다른 정렬 함수가 있습니다. 지금 문제가 해결되었습니다. 귀하의 의견을 보내 주셔서 감사합니다. –

관련 문제