2012-02-23 19 views
2

私はjavaで新しいです。 mysqlからデータを取得してJlist(Jlist名: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

データベースへの接続があり、照会する情報がわかっていると仮定すると、 eあなたの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」であることを前提としていますが、これを実際の列の列に置き換えることをお勧めします。

この関数は新しいモデルを作成し(How to Use Models参照)、クエリを実行します。クエリが返す各値を取得し、新しいモデルに追加します。 list.setModel(model)は、新しいモデルの使用を開始するようにリストに指示します。

+0

私のような初心者のための明確な説明のために非常に@lunchboxありがとうございました。私はこれを試してみます:) – mix

+0

item_codeを検索したいデータに変更しましたが、まだJListに表示されません。 JcomboboxのようにformWindowOpenedのようなものを追加する必要はありますか? – mix

+0

はい、この 'populateJList(JLISTF、SELECT item_code FROM your_table"、接続);のような行を、JLISTFを作成した後、そしてあなたの接続を作成した後のどこかに追加する必要があります。 – Lunchbox

関連する問題