gpt4 book ai didi

java - paintComponent 和 getTableCellRendererComponent 没有被调用

转载 作者:行者123 更新时间:2023-11-30 07:36:20 24 4
gpt4 key购买 nike

我正在使用 setDefaultTableRenderer 设置 JTable 的渲染器。

JTable table = new JTable();
table.setDefaultRenderer(Object.class,MyRenderer);

MyRenderer 扩展了 DefaultTableCellRenderer 并覆盖了 paintComponent 和 getTableCellRendererComponent。

我有 4 行和 8 列,由于奇怪的原因,第一行的前两列没有调用我的渲染器方法。我使用 SwingUtilites.invoke 方法调用我的 GUI 及其对除这两列之外的所有其他列的工作列。

最佳答案

没有看到您的代码,我只能猜测,但我认为您可能有自己的 TableModel,它为每一列返回 column.class。 JTable 为其中一些类(例如 Integer 等)提供了 DefaultCellRenderer。因此您的第一列可能是 Integer 列,这导致 JTable 使用自己的渲染器。

为避免这种情况,您只需重写 Integer.class 渲染器:

table.setDefaultRenderer( Integer.class, myRenderer );

关于java - paintComponent 和 getTableCellRendererComponent 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3656473/

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