gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 06:18:00 26 4
gpt4 key购买 nike

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

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

但是 JList 似乎没有将鼠标移动/位置分派(dispatch)给子项,并且我的光标没有更新。

这是我的 JList 树:

JList
Custom Cell Renderer
Custom Cell (JPanel)
Components
My component with mouse cursor changed

如何让 JList 调度鼠标位置?

谢谢。

编辑:一些代码:

public class JCOTSDisplay extends JList
{
public JCOTSDisplay()
{
setCellRenderer(new COTSListCellRenderer());
setModel(.....);
}
}

public class COTSListCellRenderer implements ListCellRenderer
{
@Override
public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus)
{
return new JCOTSCell((COTS) value);
}
}

public class JCOTSCell extends JPanel
{
public JCOTSCell(final COTS cots)
{
initComponents();
}

private void initComponents()
{
JLabel lblUrl = new JLabel("<url>");
lblUrl.setCursort(new Cursort(Cursor.HAND_CURSOR));
}
}

最佳答案

好的,所以 JList 仅显示,它的行为就像组件呈现为图像一样,因此任何鼠标监听器/操作都不会被触发/分派(dispatch)。

我已将 JList 替换为带有 0 行和 1 列的 GridLayout 的 JPanel。

我已经实例化了我的模型和单元格渲染器,并像 JList 一样使用它们。

现在一切都按照我想要的方式进行。

谢谢。

关于java - 将鼠标位置分派(dispatch)给 JList 的自定义单元格渲染器中的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19378466/

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