我是java新手。 如何从mysql获取数据并将其显示在Jlist中(Jlist名称:JLISTF) 我对 vector 和模型感到困惑。
下面是我的 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()
{...........}
}
最佳答案
假设您已连接到数据库并且知道要查询哪些信息,则可以使用以下方法来填充 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/