问题标签 [listcellrenderer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
161 浏览

java - ListCellRenderer 将所有行设置为相同的颜色

我的意图是使用 ListCellRenderer 来突出显示包含已访问(或单击)的链接的红色单元格和绿色未访问的链接,这部分但不完全有效。渲染器似乎可以将单元格标记为红色。但是,如果我添加更多行,那么它们之后都会变成红色。此外,如果我标记两个不相邻的单元格,那么它也会将它们标记为红色。

我有一个类 Feed,我最初有一个布尔变量,但我修改了代码,以便 m_isRead 变量在 listModel 中,这里是构造函数:

现在这个实例变量在包含渲染器的 listModel 类中设置为 false。

当使用我现在调整的 ListCellRenderer 时,它不需要此方法:

我进行如下操作:

然后我有另一个内部类,它带有一个用于获取所选项目的方法,此时我将m_isRead设置为 true(以读取),这现在独立于 Feed 类,并且与它相关的代码已被注释掉:

现在结果是一样的,如果我添加它们是绿色的行,那是正确的,如果我点击每一行,只要我点击了与我点击的第一行相邻的行,每轮读取一次,但是如果我,例如,有四行,我点击第一行和最后一行,所有行,包括中间的行(我没有点击)变成红色。同样,如果我添加新行,它们会变成红色。也就是说,如果我什至单击这些行之一,那么我之后添加的行将是红色的。

有人可以帮忙吗?

先感谢您,

干杯

0 投票
1 回答
76 浏览

java - 选择两行后默认选中的行

mKorbel的这个例子为例:

通过使用 mKorbel 建议的机制,我已经实现了创建所需的行为。只要我将一行涂成绿色(未选中),这就会起作用。但是,如果我添加一行,选择它然后添加一个新行,它工作正常,我得到一个新的未选择行。如果我添加第二行并且我选择了它,那么它会正确地涂成红色,但是在第二行(两个红色行)之后添加更多行时,默认情况下它们都被选中,这不是我想要的。我想要所有的行都是绿色的,直到我点击它们(双击)。有谁知道为什么会这样?为什么只要我有 1 个单元格未选中它就可以工作?为什么如果我选择了两个以上或所有行,它会在选定模式下不断添加新行?THNX

我的鼠标事件代码如下:

CellRenderer 中的代码如下:

0 投票
3 回答
692 浏览

java - 将鼠标位置分派到 JList 的自定义单元格渲染器中的组件

我正在为 JList 使用自定义 cellrenderer,它为模型中的每个值创建一个 JPanel。

我想为 JPanel 的一个组件更改鼠标光标。

但似乎 JList 没有向孩子发送鼠标移动/位置,而且我的光标没有更新。

这是我的 JList 的树:

如何使 JList 调度鼠标位置?

谢谢。

编辑:一些代码:

0 投票
1 回答
107 浏览

java - 向 ListCellRenderer 添加内容

我使用 ListCellRenderer 创建并实现了一个 Jlist,但我无法找到将项目添加到列表的正确方法。

这是 CellRenderer:

这是视图中的实现:

产品是一个自己的类,我想添加这个例子:

我发现你通常使用 listmodel 来执行此操作,但它似乎在这里不起作用,因为我必须在初始化期间将它添加到 Jlist 中。

但这是不可能的,因为我已经有 < Product > 了。

感谢您花时间检查我的障碍。

0 投票
2 回答
1425 浏览

java - 为满足特定语句的 JList 元素设置前景

我一直对JLists他们的渲染器有问题。我有Result一个有字段的类:private double sum; 我还创建了一个JList包含Result类的实例:

我想为列表中满足此声明的那些元素设置前景或背景(无论哪个)为红色:result.sum > 10.

我试图编写一个扩展的类,ListCellRenderer但它以不值得一提的灾难告终。请帮忙。

0 投票
2 回答
90 浏览

java - 如何在 JList 之外使用自定义 JList 渲染器的结果?

我有一个完美工作的自定义渲染器 - 我如何将它用作“绘图引擎”来生成与在 JList 中生成的相同对象?

0 投票
1 回答
283 浏览

java - 无法让 ListCellRenderer 正常运行

我今天早些时候发布了一个问题,并被 MadProgrammer 指示使用 ListCellRenderer 来达到预期的结果。我几乎可以使用它,但是它在组合框中两次显示相同的条目,我不知道为什么。请帮我解开这个谜。编码:

如您所见,ArrayList 有 2 个添加项。我将组合框中的显示限制为仅显示课程编号,但 Course2 显示了两次,当我打印出 ArrayList 的内容时,我看到 Course2 的所有详细信息显示了两次,而 Course1 则没有。任何帮助将不胜感激。干杯

0 投票
1 回答
917 浏览

java - Java Swing - DefaultListModel - 当我只想打印一个字段时打印所有对象信息

我有这个 DefaultListModel

一切工作几乎完美问题是

如果我将其更改为 product.name 它看起来会正确,但行为错误[对象本身无法访问,只有名称]

正在将对象添加到视图中,而我要添加的只是对象名称。

当我将其更改为名称时,它会导致各种问题,因为我将对象存储在 hashmap 中,并且 hashmap 使用对象作为键,而不是 product.name 字符串。

原因是这个方法可以在 hashmap 中搜索正确的对象。

我怎样才能解决这个问题??我一直在尝试修复它和相关的错误大约两个小时=(!

样本输出也是

这就是它正在打印的内容。我只想让它打印名称。=(!

对象也位于哈希图中。我可以遍历哈希图,直到一个对象具有相同的名称值,然后使用它,但我不想这样做。我想要一个更合适和可扩展的解决方案,即因为我很难想到一个。

顺便一提!这是 Swing 中的 GUI 应用程序!如果您想要图片,请询问 = )!

编辑:现在 nmy 列表单元格渲染器坏了!刚才还在工作... = (

0 投票
1 回答
513 浏览

java - ListCellRenderer 未显示所需的文本

我试图只让 ArrayList 元素中的第一项显示在组合框中。有人建议使用 ListCellRenderer 可以帮助我实现这一目标。我已经尝试过,但无法访问必要的 getCourseNum() 方法来显示。我的代码:

这是我正在使用的课程:

我已经尝试了几天,但我在这里未知的水域游泳。如何访问 getCourseNum() 方法,以便这是填充组合框的唯一方法?任何帮助将不胜感激。注意:几天前我问了一个类似的问题,有人建议我修改我的代码。这是我的新尝试。我是一个初学者,所以欢迎任何和所有的建议。干杯

0 投票
2 回答
2394 浏览

java - 使用 JList 更改特定索引的颜色

如何使用 JList 更改特定索引的颜色,我设法更改颜色,但它会更改整个列表的颜色,我需要能够将特定索引更改为一种颜色,并将另一个索引更改为另一种颜色。

我已经尝试了很多组合,它们似乎只改变了整个列表的颜色而不是索引。我理解为什么因为它指的是整个列表,我只是不知道如何为特定索引更改它。

列表中的值包含 COMPLETED 或 INCOMPLETE,我想根据它们的值更改它们的颜色。