gpt4 book ai didi

Java Jtable,用不同的颜色绘制每个单元格,而无需为每个单元格创建不同的渲染器

转载 作者:行者123 更新时间:2023-12-01 07:58:20 30 4
gpt4 key购买 nike

我正在制作一个类似房间管理员的程序,

每天每个房间都有不同的客户,有时 1 个客户可以在同一天占用几个房间。

我想为每个客户涂上自己的颜色。我可以在不为每个客户端创建唯一的单元格渲染器的情况下做到这一点吗?

我是 J-Tables 新手,整个渲染系统在我看来效率不高。

这是我的应用程序的屏幕截图,

我对工作日和周末的列标题使用不同的渲染器。此外,单元格是 J 按钮,渲染器对它们进行着色,但颜色相同。

灰色单元格是“新的”,橙色单元格被客户端占用,不同的客户端,相同的颜色:(

the gray cells are "New" and the orange ones are Occupied by clients, different clients, same color :(

有什么想法吗?

谢谢

戴夫

最佳答案

参见示例#3(“渲染红色或绿色”): http://www.javapractices.com/topic/TopicAction.do?Id=168

底线是,您的渲染器可以使用单个共享 JLabel,根据单元格将其设置为不同的颜色(在上面的示例中,它们扩展了 DefaultTableCellRenderer,后者扩展了 JLabel,因此实际上相同的 JLabel 用于所有单元格。如果您不喜欢继承,您可以使用您自己的共享 JLabel)。它之所以有效,是因为 JTable 渲染过程使用 JLabel 作为“可重用标记”——连续遍历单元格,“记录”单元格的外观,然后继续。如果您的 table (例如)5X3,它实际上并不能容纳 15 个标签,而只能容纳 15 个图像。

关于Java Jtable,用不同的颜色绘制每个单元格,而无需为每个单元格创建不同的渲染器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27354231/

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