gpt4 book ai didi

java - JTable.SetCursor 不改变光标

转载 作者:行者123 更新时间:2023-11-29 06:08:53 25 4
gpt4 key购买 nike

我创建了一个表,并在特定列上设置了游标。首次显示表格时光标正常显示,但如果表格模型发生变化,重新绘制表格,则不会按照代码显示光标,而是在所有列上显示默认光标。

尝试调试代码,对 jtable.setcursor 的调用正确执行,但光标未显示在屏幕上。

在 MouseMoved() 方法中通过 MouseMotionListener 设置了光标。

感谢任何帮助。


我最近的观察:

我发现当任何其他对话框出现在显示表格的滚动 Pane 上时,就会出现问题。如果在包含 JTable 的 JScrollPane 的面板上启动 JFileChooser 或 JDialog,在关闭 JFileChooser 或 JDialog 后,表上的光标不会按照代码显示,即使表模型根本没有改变,也会发生这种情况。

以下是我设置光标的代码:

final Cursor handCursor = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
final Cursor defaultCursor = Cursor.getDefaultCursor();
table.addMouseMotionListener(new MouseAdapter()
{
public void mouseMoved(MouseEvent e)
{
int cModel = table.columnAtPoint(e.getPoint());
int cView = table.convertColumnIndexToView(cModel);
if (cView == 1)
{
table.setCursor(handCursor);
}
else
{
table.setCursor(defaultCursor);
}
}
});

最佳答案

可能是当模型更改时列模型也更改并且旧列实例不再有效。

关于java - JTable.SetCursor 不改变光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7721235/

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