在显示mysql数据库中的数据时,我再一次遇到了JList的问题,我使用了下面给出的代码,但是它没有在屏幕上显示任何东西。
JFrame f8 = new JFrame("Schedule");
f8.setVisible(true);
f8.setSize(1000, 1000);
JPanel jpa1 = new JPanel(new GridBagLayout());
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);
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());
}你能告诉我我哪里错了吗?
发布于 2012-08-28 05:21:36
根据代码片段很难说出问题是什么,更不用说一些难以阅读的未格式化的代码了,但是...
您应该考虑:
发布于 2012-08-28 05:33:58
装满电鱼的气垫船几乎击中了钉子,但我原谅他,因为直到我开始删除你的代码的整个部分,我才看到它。
代码的最后一行是
JScrollPane listScroller = new JScrollPane(list);您从不将此滚动窗格添加到您的UI中。它的作用是将list从它以前的父级(jpa1)中删除,并添加到滚动窗格中,这样就不会在屏幕上显示任何内容。
我会遵循Hovercraft上所有关于Eels的建议,然后找出如何解决最后一个问题……
jpa1.add(new JScrollPane(list));应该就这么做了
https://stackoverflow.com/questions/12149723
复制相似问题