gpt4 book ai didi

java - 结果集存储到带有单元渲染的表的字符串数组中

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:48 25 4
gpt4 key购买 nike

你好,我是使用java JTable的新手,我的数据库中有多个结果存储在结果集中。我的问题是我在 jtable 中使用 cellrendered,除了将结果集存储在 String[][] 或 Object[][] 中,我没有任何办法。

String[] columnNames = {"Employee ID", "Firstname","Lastname", "Position"};
String[][] database;//This is where i need to put the result set
DefaultTableModel model = new DefaultTableModel(database,columnNames){
public Class getColumnClass(int column){
return getValueAt(1, column).getClass();
}
};

这是创建表的函数

private JComponent createData(DefaultTableModel model)
{
JTable table = new JTable( model )
{
public Component prepareRenderer(TableCellRenderer renderer, int row, int column)
{
Component c = super.prepareRenderer(renderer, row, column);
if (!isRowSelected(row))
{
c.setBackground(getBackground());
int modelRow = convertRowIndexToModel(row);
String type = (String)getModel().getValueAt(modelRow, 1);
if ("Nick".equals(type)) c.setBackground(Color.GREEN);
if ("Leth".equals(type)) c.setBackground(Color.YELLOW);`
}

return c;
}
};

table.setPreferredScrollableViewportSize(table.getPreferredSize());
table.changeSelection(0, 0, false, false);
table.setAutoCreateRowSorter(true);
JScrollPane scrollPane = new JScrollPane( table );
scrollPane.setBounds(252, 11, 404, 402);
return scrollPane;
}

这是我调用函数创建表getContentPane().add(createData(model));的地方,而String[][]数据库变量是从数据库插入数据的方式。这是我在谷歌中得到的方式,到目前为止我对 cellrendered 没有任何想法,这就是为什么我认为我需要将结果集存储在 String[][] 中才能完成我的目标。这是我从数据库获取数据的地方

public void loadList(){
String sql = "SELECT emp_id,lname,fname,positional_status from tblEmployee";
try{
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()){
//what goes here to populate my data fetch from database and put in
// String[][] database?
}
}catch(Exception err){
JOptionPane.showMessageDialog(null, err);
}

}

如有任何建议,我们将不胜感激。

最佳答案

下面的帖子可能对您有帮助。

为了您的学习和更好的理解,请阅读有关 How to Use Tables 的更多信息。其中说明了自定义渲染器和其他示例以及详细的示例代码。

关于java - 结果集存储到带有单元渲染的表的字符串数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24824383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com