JComboBox
データベーステーブル(stock_infoと呼ばれる)から(と呼ばれる)にある列JTable
(partsと呼ばれる)の値を読み取ろうとしていますtblContents
。私のコードは以下です。ファイルを実行すると、テーブルにコンボ ボックスが表示されます。コンボ ボックスをクリックしてオプションを選択すると、データベース テーブルの列に 8 つの値があるため、8 つの空白のオプションが表示されます。
オプションがすべて空白になっている理由を誰か説明できますか?
import java.sql.*;
import javax.swing.*;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;
public class Sale extends javax.swing.JFrame {
PreparedStatement pst = null;
Connection conn = null;
ResultSet rs = null;
int count = 0;
public void FillCmbs() {
String sql = "SELECT * from stockinfo ORDER BY parts";
int size = 0;
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
size++;
}
String[] items = new String[size];
while (rs.next()) {
items[count] = rs.getString("parts");
count++;
}
JComboBox jcb = new JComboBox(items);
TableColumn tc = tblContents.getColumnModel().getColumn(1);
TableCellEditor tce = new DefaultCellEditor(jcb);
tc.setCellEditor(tce);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
public Sale() {
initComponents();
conn = DBConnect.ConnectDB();
}
private void formWindowActivated(java.awt.event.WindowEvent evt) {
FillCmbs();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Sale().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable tblContents;
// End of variables declaration
}