在 JList 中显示数据库中的数据
Posted
技术标签:
【中文标题】在 JList 中显示数据库中的数据【英文标题】:Displaying data from database in JList 【发布时间】:2012-08-26 23:47:26 【问题描述】:我正在使用以下代码从数据库中检索数据,但我不知道如何在 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");
但我想在JList
中显示列数据。你们能告诉我怎么做吗?
我正在使用以下代码,但它没有在我的框架上显示任何内容,你能告诉我我哪里错了吗?谢谢
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());
【问题讨论】:
"How to Use Lists" 是一个很好的起点 Data from database to JList 可能重复 请编辑原始问题,而不是开始新问题! @AndrewThompson:重复:/...没注意到那部分! 【参考方案1】:JList
可能基于ListModel
,因此您需要创建一个包含您的数据的ListModel
,然后使用它来创建您的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;
然后你可以写类似的东西
...
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);
尚未尝试编译和测试此代码,但希望这一点对您有所帮助!
【讨论】:
以上是关于在 JList 中显示数据库中的数据的主要内容,如果未能解决你的问题,请参考以下文章