gpt4 book ai didi

java - 禁用滚动到焦点单元格

转载 作者:行者123 更新时间:2023-12-02 08:37:06 24 4
gpt4 key购买 nike

我在滚动 Pane 内有一个 jtable。当部分不在 View 范围内的单元格获得焦点时,如何阻止滚动 Pane 向上或向下滚动?

问题是当用户将鼠标悬停在单元格上时,我将单元格设置为可编辑,因此当您将鼠标悬停在部分不在 View 中的单元格上时, View 会突然发生变化。我不喜欢这种行为。关于如何改变它有什么想法吗?

最佳答案

您可以尝试在桌面上调用“setAutoscrolls(false)”。

虽然 javadoc 讨论了处理鼠标拖动事件,但它也应该禁用行/单元格部分的滚动。

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class TableTest extends JFrame {

private JTable table;
/**
* Create a new TableTest Frame.
* @param title The title of the frame.
*/
public TableTest() {

Object[][] tableData = new Object[][] {
{1, "One"}, {2, "Two"}, {3, "Three"},
{4, "Four"}, {5, "Five"}, {6, "Six"}};

DefaultTableModel tableModel = new DefaultTableModel(tableData, new String[] {"A", "B"});
table = new JTable(tableModel);
table.setAutoscrolls(false);

JScrollPane scrolly = new JScrollPane(table);
setLayout(new BorderLayout());
add(scrolly, BorderLayout.CENTER);
}

/**
* @param args
*/
public static void main(String[] args) {

TableTest frame = new TableTest();
frame.pack();
frame.setSize(200, 100);
frame.setVisible(true);
}
}

关于java - 禁用滚动到焦点单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1289689/

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