嘿嘿 我正在用 Java 編寫一個刪除非白名單文件的工具。不要問。它列出了用戶使用 JFileChooser 選擇的目錄。這很好用,所有文件名都列在 JList 中(在我的例子中是在 JScrollPane 中)并顯示在框架內?,F在我想從 .txt 文件中讀取文件名并檢查它們是否與列表中的名稱匹配。閱讀和比較沒有問題。但如果文件與 .txt 文件中的文件之一匹配,我想設置綠色背景。如果不是,那么顯示項目的背景應該是紅色的。但是,如果可能的話,我如何才能更改一行的這些背景呢?
1 回答

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
很簡單,使用以下方法將自定義 ListCellRenderer 設置為您的 JList:
list.setCellRenderer(myListCellrenderer);
現在在覆蓋的方法 getListCellRendererComponent() 中執行如下操作:
public Component getListCellRendererComponent(.....) {
Component c = super.getListCellRendererComponent();
c.setBackGround(Color.blue)
return c;
}
當邏輯確定您應該將行顯示為綠色時(當文件名相同時),您還可以選擇在行的支持對象上設置狀態并在 getListCellRendererComponent() 中測試該狀態,設置背景如果狀態正確則為綠色。同樣,您可以選擇設置 SwingTimer以恢復支持對象的狀態。
添加回答
舉報
0/150
提交
取消