2012-02-23 7 views
2

저는 java에서 새내! mysql에서 데이터를 가져 와서 Jlist (Jlist name : JLISTF)에 표시 할 수있는 방법 vector와 모델이 혼동 스럽다.mysql에서 jList로 데이터를 가져 오는 방법은 무엇입니까?

:

당신에게 enter image description here

코드를 감사 아래

내 JFrame의의 사진입니다

노란색 부분은 JList의 의미와는 이름 JLISTF 내가 MySQL의에서 데이터를 표시 할 입니다입니다

public class Inventory extends javax.swing.JFrame { 


     Connection connect = null; 
     ResultSet rs = null; 
     PreparedStatement pst = null; 
     ResultSet rs2 = null; 


    public void populateJList(JList ItemList, String query, Connection connection) throws SQLException 
{ 
    DefaultListModel model = new DefaultListModel(); //create a new list model 

    Statement statement = connection.createStatement(); 
    ResultSet resultSet = statement.executeQuery(query); //run your query 

    while (resultSet.next()) //go through each row that your query returns 
    { 
     String ItemList2 = resultSet.getString("ItemCode"); //get the element in column "item_code" 
     model.addElement(ItemList2); //add each item to the model 
    } 
    ItemList.setModel(model); 

    resultSet.close(); 
    statement.close(); 

} 


public Inventory() {..} 

    private void searchButtonActionPerformed(java.awt.event.ActionEvent evt) { ......} 

private void saveButton3ActionPerformed(java.awt.event.ActionEvent evt) { 
String inventcodef = inventCodeField.getText(); 
try{.........} 
catch() 
{...........} 
} 
+0

[의미하는 javax.swing.JList] (http://docs.oracle.com/javase/6/docs/api/javax/swing/JList.html)? 정확히 당신이 이해하지 못하는 것은 - MySQL 데이터베이스 통합 또는 Swing 기반의 UI 구현입니까? – home

+0

JList를 mysql에 채우고 싶지만 시작하는 방법을 모르겠다. – mix

+0

@home 나는 JList를 채우는 방법을 이해하지 못하기 때문에 대체 할 변수를 모른다. 튜토리얼이 있지만 사용 된 변수를 실제로 설명하지는 않습니다. 예를 들어, JLISTF 인 JLIST 변수 이름으로 코드를 대체 할 위치에 제공 한 링크에서 – mix

답변

3

데이터베이스에 연결되어 있고 쿼리하려는 정보가 무엇인지 알고 있다고 가정하면 다음의 JList를 채울 메소드.

import java.sql.Connection; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

import javax.swing.DefaultListModel; 
import javax.swing.JList; 

... 

public void populateJList(JList list, String query, Connection connection) throws SQLException 
{ 
    DefaultListModel model = new DefaultListModel(); //create a new list model 

    Statement statement = connection.createStatement(); 
    ResultSet resultSet = statement.executeQuery(query); //run your query 

    while (resultSet.next()) //go through each row that your query returns 
    { 
     String itemCode = resultSet.getString("item_code"); //get the element in column "item_code" 
     model.addElement(itemCode); //add each item to the model 
    } 
    list.setModel(model); 

    resultSet.close(); 
    statement.close(); 

} 

이 함수에 첫 번째 매개 변수로 JLISTF 변수를 전달합니다.

다음 줄은 열 이름이 "item_code"라고 가정하고이 열을 실제 이름으로 바꾸려고합니다.

String itemCode = resultSet.getString("item_code"); 

이 함수는 새 모델 (How to Use Models 참조)을 만든 다음 쿼리를 실행합니다. 쿼리가 반환하는 각 값을 가져 와서 새 모델에 추가합니다. 그런 다음 list.setModel (model)이 목록에 새 모델을 사용하라고 지시합니다.

+0

나와 같은 초보자를위한 명확한 설명을 위해 @lunchbox를 너무 많이 고맙다. 이것을 시도해 보겠습니다 :) – mix

+0

item_code를 검색하고자하는 데이터로 변경 했는데도 여전히 JList에 표시되지 않습니다. Jcombobox와 같은 formWindowOpened와 같은 것을 추가해야합니까? – mix

+0

예, JLISTF를 생성하고 Connection을 생성 한 후에이'populateJList (JLISTF, SELECT item_code FROM your_table ", 연결);와 비슷한 줄을 추가해야합니다. – Lunchbox

관련 문제