java 在 JList 中显示数据库中的数据
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12134823/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Displaying data from database in JList
提问by Rohan Singh Dhaka
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
. Can you guys tell me how to do that?
但我想在JList
. 你们能告诉我怎么做吗?
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());
}
回答by olagjo
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
. I would make a class Stadium
or something, with two String
fields, name
and city
.
AJList
可能基于 a ListModel
,因此您需要制作 aListModel
包含您的数据,然后使用它来制作您的JList
. 我会创建一个类Stadium
或其他东西,有两个String
字段,name
并且city
.
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!
尚未尝试编译和测试此代码,但希望这一点有所帮助!