java - 如何从mysql获取数据到jList?

标签 java swing

我是java新手。 如何从mysql获取数据并将其显示在Jlist中(Jlist名称:JLISTF) 我对 vector 和模型感到困惑。

下面是我的 JFRAME 的照片

黄色部分的意思是JLIST,它的名字是JLISTF 我想显示来自mysql的数据

谢谢enter image description here

代码:

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()
{...........}
}

最佳答案

假设您已连接到数据库并且知道要查询哪些信息,则可以使用以下方法来填充 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) 然后告诉列表开始使用您的新模型。

关于java - 如何从mysql获取数据到jList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9417209/

相关文章:

java - Swing 中具有拖放功能的 HTML 库页面

java - 使用 PaintComponent 在 Jpanel 上绘制矩形不起作用

java - 使用不同的 JPanel 替换 JPanel

java - 如何以编程方式关闭 JFrame

Java Mockito 模拟方法时出现 InvalidUseOfMatchersException

java - 迭代 JSON 并从 JSON 中获取字段

java.util.ServiceConfiguration错误: Provider could not be instantiated

java - 如何在 PowerMockito 中模拟身份验证对象?

java - ArrayList.size() 方法是否被缓存?

java - 标签移动时不调用paintComponent