2009-10-24 2 views
0

기본적으로 프로그램은 고객 정보를 가져 와서 데이터베이스에 덤프합니다. 정보를 변경하려면 사용자가 콤보 박스에서 고객 이름 을 선택할 수 있도록 시스템에서 해당 고객의 데이터베이스에서 모든 정보를 호출 할 수있게하려고합니다. 데이터베이스에 액세스하는 것은 괜찮습니다. 정보를 넣고 변경하는 것은 좋습니다. 나는 모든 고객 이름으로 채워지는 콤보 상자를 얻는 방법을 파악할 수 없습니다.mySQL 데이터베이스의 정보로 jcombobox를 채우려면 어떻게합니까?

+0

문제를 이해하는 데 문제가 있습니다. 일반적으로 JComboBox를 채우는 방법을 알고 있습니까? 대답에서 말했듯이, 이것은 어떤면에서도 다르지 않습니다. 데이터에서 모델을 만들어 콤보 상자로 설정하면됩니다. – Carlos

답변

1

가장 간단한 해결 방법은 데이터베이스에서 String 배열을 만드는 것입니다. 그런 다음 그것을 사용하여 콤보 박스를 만듭니다.

String[] mydbStrings = .....; 
    JComboBox mycombo = new JComboBox(mydbStrings); 

하지만 일부 문자열 만 제공됩니다. 고객을 나타내는 클래스를 정의하고, 데이터베이스에서 고객을로드하고, 적절한 toString()이 Customer 클래스에 정의되어 있는지 확인하고 콤보 상자에서 사용되는 Customers 배열을 만드는 것이 좋습니다. 그렇게하면 고객 이름이 콤보 상자에 표시되지만 고객의 모든 세부 정보를 즉시 사용할 수있는 고객 이름을 선택하게됩니다.

너무 많은 메모리를 사용하여 모든 고객의 데이터를 한 번에로드 할 수 있다면 이름과 ID만으로 더 작은 custInfo 클래스를 만들 수 있습니다. 그런 다음 콤보 상자에서 사용하고 나머지 고객 데이터를 선택한 후에로드하십시오.

1

일반적인 콤보 박스를 채우는 방법과 데이터베이스에서 데이터를 가져 오는 방법을 알고 있다면 간단해야합니다. 기본적으로 콤보 상자는 생성자에서 문자열 배열을 가져 오므로 문자열 배열 (고객 이름)을 전달할 수는 있지만 콤보 상자 모델을 만드는 것이 좋습니다. 그런 다음 고객을 모델 (POJO의 가능성이 높습니다)에 전달한 다음 렌더러를 만들어 원하는 이름을 표시 할 수 있습니다. 그런 다음 고객을 선택하면 모델을 조회하여 선택한 고객의 ID를 얻은 다음이를 사용하여 필요한 고객 데이터를 검색 할 수 있습니다.

관련 문제