gpt4 book ai didi

java - 为 ROW 着色并仍然能够选择其后的其他行?

转载 作者:行者123 更新时间:2023-12-01 14:02:53 25 4
gpt4 key购买 nike

我遇到了一个真正的大问题,而且它是如此之大,因为我到处搜索但找不到解决方案。

我想将整行永远染成黄色。黄行表示客户已经付款。之后,我仍然需要能够选择行(他们选择的行应该是蓝色的,其他的应该是白色的)来用它们做其他事情(更新、删除等)。但这一切都有点困惑,最后,我按下的每一行都变成黄色,我不明白为什么。我正在使用自定义 tableCellRenderer。

每次按下某一行时,我是否都必须证明该行是否已付款?然后将其涂成黄色或蓝色?

teilnehmertable.setDefaultRenderer(Object.class, new MyTableCellRender(teilnehmertable.getSelectedRow()));
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://10.0.0.1:3306/askoedb", "name", "pw");
stmt = con.createStatement();
rs1 = stmt.executeQuery("SELECT bezahlt FROM askoedb.teilnehmer");
while (rs1.next()) {
System.out.println(rs1.getString(1));
if (rs1.getString(1) != null) {
if (selectedRow != -1) {
if (row == selectedRow) {
setForeground(Color.black);
setBackground(Color.yellow);
} else {
setForeground(Color.black);
setBackground(Color.white);
}
}
setText(value != null ? value.toString() : "");
} else {
if (selectedRow != -1) {
if (row == selectedRow) {
setForeground(Color.white);
setBackground(Color.blue);
} else {
setForeground(Color.black);
setBackground(Color.white);
}
}
}
}

return this;
} catch (ClassNotFoundException | SQLException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
con.close();
} catch (SQLException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
}
}
return this;
}

最佳答案

Do I have to proof every time I press onto a row if that row has paid or not? and then color it in either yellow or blue?

是的,每次选择/取消选择该行时都会呈现该行。

参见Table Row Rendering一种方法允许您根据特定列中的值对整行进行着色。

关于java - 为 ROW 着色并仍然能够选择其后的其他行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19203508/

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