所以我有一個列表,裏面充滿了我的數據庫中的名稱。這些名稱代表在公司工作或曾經工作過的員工。我已經看到可以改變單元格的文本顏色,但是當我應用它時,它會改變它們的全部。我真正想要的是改變沒有工作的客戶的顏色。如何在JavaFX中使用css更改ListView單元格的文本顏色
我在列表中添加了「不活躍」,所以我可以分開「活動」和「不活動」客戶端。
這裏就是我在ArrayList中添加員工姓名代碼:
public ArrayList<String> search(String unit, String name)
{
ArrayList<String> temp= new ArrayList<String>();
String sql="";
if(unit=="all units")
sql="SELECT * FROM employees WHERE name='"+name+"';";
else
sql="SELECT * FROM employees WHERE unit='"+unit+"' AND name='"+name+"';";
try {
ResultSet rs=bp.select(sql);
while(rs.next())
{
if(rs.getInt("active")==1)
temp.add(rs.getString("name"));
else
temp.add(rs.getString("name")+" - not active");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Collections.sort(temp);
return temp;
}
而且這裏是我補充一點的ArrayList在我的ListView代碼:
for (String item: u.search(unitCB.getValue(),nameTF.getText()))
SearchLW.getItems().add(item);
現在,我wounder是有可能使用css將此列表中的文本顏色更改爲紅色,以禁止所有不再活動的員工?如果不是這樣,另一個解決方案就是如何更改這個特定的ListView單元格的文本顏色將會很有幫助。
順便說一句,你不妨在讀了起來:在[防止SQL注入攻擊一個Java程序](http://stackoverflow.com/questions/9516625/prevent-sql-injection-attacks-in-a -java-程序)。 – jewelsea
這是有點類似於這個問題:[JavaFX中的2種顏色的背景?](http://stackoverflow.com/questions/16200901/background-with-2-colors-in-javafx)。儘管這個問題是關於在TableView中設置單元格的樣式,但對列表單元格的樣式可以使用類似的原則。 – jewelsea
關於sql注入攻擊,是的,我意識到這一點,我只是從我的程序中重新輸入代碼來解決我的問題,方法是編寫一個簡單的simular方法,將數據庫中的數據存入ArrayList。這意味着我只是重新輸入了所有需要查看我在這裏要做什麼的重要數據。 –