2012-08-26 59 views
-1

數據庫顯示的數據我使用下面的代碼從數據庫中檢索數據,但我不知道如何來顯示它在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"); 
} 

,但我想顯示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()); 
} 
+3

[「如何使用列表」](http://docs.oracle.com/javase/tutorial/uiswing/components/list.html)將是一個很好的開始 – Sujay

+2

[Data from database to JList](http://stackoverflow.com/questions/12133621/data-from-database-to-jlist)請編輯原始問題,而不是開始一個新的問題! –

+0

@AndrewThompson:重複:/ ......沒有注意到那部分! – Sujay

回答

5

一個JList可能基於一個ListModel,所以你需要做一個ListModel包含您的數據,然後用它來使你的JList。我會做一個類Stadium什麼的,有兩個String字段,namecity

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); 

沒有嘗試編譯和測試該代碼,但希望點是有幫助的!