gpt4 book ai didi

java - JTable焦点移动查询?

转载 作者:行者123 更新时间:2023-12-01 15:43:25 25 4
gpt4 key购买 nike

我试图通过以下代码突出显示 JTable 中的焦点移动:

    if(e.getKeyCode() == (KeyEvent.VK_TAB)){
int prevRow;
int row = table.getSelectedRow();
int col = table.getSelectedColumn();
if(col == 0) {
System.out.println(row);
MinMax val = null;
TableCellRenderer currRend = table.getCellRenderer(row,col);
val = (MinMax) table.getValueAt(row, col);
JComponent comp = (JComponent) currRend.getTableCellRendererComponent(table, val, false, false, row,col);
comp.setBorder(BorderFactory.createLineBorder(Color.RED));
table.requestFocus(true);
}

场景是这样的,当我第一次按TAB时选择第二行,最初焦点设置在第[0]行,边框未绘制,当我第二次按时选择第三行突出显示第 2 行和第 3 行。

此后,每当按下 Tab 时,边框的突出显示就会与行选择相关。

当我在正常模式下运行应用程序而不是在带断点的调试器模式下运行应用程序时,我遇到问题。

最佳答案

没有理由费心使用KeyListener中的KeyEvents,如果没有生成一些额外的特殊Events,则实现prepareRenderer >,你必须测试是否是 isSelected()hasFocus(),我认为一切都像 @camickr 的 Table Row Rendering 一样好。 ,

关于java - JTable焦点移动查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7608102/

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