我目前有一個運行良好的數據庫。它將數據庫每列中的文本顯示爲應用程序用戶界面上的5個標籤。有些時候,根據用戶輸入的內容,我希望它顯示數據庫中的行列表,我正在考慮使用JList。數據庫中的每一行都是一個JList項目?
當前的代碼顯示在標籤是:
String sqlQuery = "select Column1, Column2, Column3, Column4, Column5 from APP.DATA123 " +
"where (Column1 = ?) AND (Column2 = ?) AND (Column3 = ?) OR (Column1 = ?) AND (Column2 = ?)";
String abc = jTextField2.getText();
String cba = (String)jComboBox1.getSelectedItem();
String cab = (String)jComboBox2.getSelectedItem();
String data = "jdbc:derby://localhost:1527/sample";
try (
Connection conn = DriverManager.getConnection(
data, "app", "app");
PreparedStatement st = conn.prepareStatement(sqlQuery)) {
Class.forName("org.apache.derby.jdbc.ClientDriver");
st.setString(1, abc);
st.setString(2, cba);
st.setString(3, cab);
st.setString(4, cba);
st.setString(5, cab);
ResultSet rec = st.executeQuery();
while (rec.next()) {
jLabel1.setText(rec.getString("Column1"));
jLabel2.setText(rec.getString("Column2"));
jLabel3.setText(rec.getString("Column3"));
jLabel4.setText(rec.getString("Column4"));
jLabel5.setText(rec.getString("Column5"));
}
st.close();
有沒有讓這個如果要顯示給用戶的數據庫的多個行更簡單的方法,我可以創建一個JList,以便一行中的所有列(可能還有一個圖像,但我稍後會考慮這些)顯示爲JList上的一個項目。因此Columns1-5是一個JlistItem,然後下一個數據庫行的列1-5是下一個JList項目等?
或者其他類似的方式,任何人都知道?
每列只有大約5-15個字符沒有那麼多的文本。
使用JTable:http://docs.oracle.com/javase/tutorial/uiswing/components/table.html –