简体   繁体   English

在JList中显示数据库中的数据

[英]Displaying data from database in JList

I am using following code for retrieving data from database, but i don't know how to show it in JList 我正在使用以下代码从数据库中检索数据,但是我不知道如何在JList显示它

Class.forName("oracle.jdbc.driver.OracleDriver");
Statement stmt = null;
ResultSet rs;                                                                          
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/SPL","root","PWD");
stmt=(Statement) conn.createStatement();
rs=stmt.executeQuery(query);
while (rs.next()) 
{
    String stadium = rs.getString("Stadium");
    String city = rs.getString("City");
}

But i want to show column data in JList . 但是我想在JList显示列数据。 Can you guys tell me how to do that? 你们能告诉我怎么做吗?


i am using the following code but it is not displaying anything on my frame, can you please tell me where i am wrong? 我正在使用以下代码,但是在框架上没有显示任何内容,您能告诉我哪里错了吗? Thanks 谢谢

 String query="SELECT * FROM Location";
 DefaultListModel model=new DefaultListModel();
 DefaultListModel model1=new DefaultListModel();
 try
 {                                              Class.forName("oracle.jdbc.driver.OracleDriver");
Statement stmt = null;
ResultSet rs;                                                                          
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/SPL","root","PWD");
stmt=(Statement) conn.createStatement();
rs=stmt.executeQuery(query);
while (rs.next()) 
{
String stadium = rs.getString("Stadium");
String city = rs.getString("City");
model.addElement(stadium);
model1.addElement(city);
}
JList list=new JList(model);
JList list1=new JList(model1);
f8.add(jpa1); //f8=frame name,jpa1=panel name
jpa1.add(list);                                 list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);                        list.setLayoutOrientation(JList.HORIZONTAL_WRAP);
list.setVisibleRowCount(1);
JScrollPane listScroller = new JScrollPane(list);                                          
}
catch(SQLException e)
{
System.out.println("Message   : " + e.getMessage());
}

A JList might be based on a ListModel , so you need to make a ListModel containing your data, and then use this to make your JList . JList可能基于ListModel ,因此您需要制作一个包含数据的ListModel ,然后使用它来制作JList I would make a class Stadium or something, with two String fields, name and city . 我将使用两个String字段( namecity来制作Stadium或类似的类。

public class Stadium {
    private String name;
    private String city;

    public Stadium(String name, String city){...}
    //toString()-method to make it display in a meaningful way in the JList
    public String toString(){ return name + " - " + city; }
}

and then you can write something like 然后你可以写一些像

...
DefaultListModel listModel = new DefaultListModel();
while (rs.next()) {
    String name = rs.getString("Stadium");
    String city = rs.getString("City");
    Stadium stadium = new Stadium(name, city)
    listModel.addElement(stadium);
}
JList list = new JList(listModel);

Have not tried to compile and test this code, but hopefully the point is helpful! 尚未尝试编译和测试此代码,但希望这一点对您有所帮助!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM