Java 将一列JTable放入滚动窗格中

Java 将一列JTable放入滚动窗格中,java,swing,jtable,Java,Swing,Jtable,我们可以在滚动窗格中添加一列JTable吗?不能直接添加。一种方法是为两者创建一个模型。假设您有一个JTable的模型 public class MyTableModel implements TableModel, ListModel { 然后将模型设置为JTable和JList 你的问题对我来说真的毫无意义,所以我只是在胡乱猜测 一个TableModel可以被许多表使用。因此,您可以使用TableModel轻松创建JTable。然后可以使用TableColumnModel从视图中删除Tab

我们可以在滚动窗格中添加一列JTable吗?

不能直接添加。一种方法是为两者创建一个模型。假设您有一个JTable的模型

public class MyTableModel implements TableModel, ListModel {

然后将模型设置为
JTable
JList

你的问题对我来说真的毫无意义,所以我只是在胡乱猜测

一个TableModel可以被许多表使用。因此,您可以使用TableModel轻松创建JTable。然后可以使用TableColumnModel从视图中删除TableColumns。因此,在滚动窗格中只有一列可见

编辑:

要水平滚动,请使用:

table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );

然后将TableColumn设置为首选宽度,如果需要,将显示滚动条。阅读JTable API,并按照Swing教程“如何使用表格”的链接,了解有关设置列宽的更多信息。

如果您询问的是单个列上的水平滚动条,以下技术(视口调整)可能会起到作用:


为了理解,我有一个非常大的列,长度为255个字符,我需要将该列添加到一个滚动窗格中,所有其他列都应该添加到另一个滚动窗格中。对我来说仍然没有意义。在滚动窗格中有一列,在其他列中有另一个滚动窗格,这有什么意义?您可以创建两个TableModel,或者按照我上面的建议共享TableModel,然后根据需要删除TableColumns。Harish-您是在问水平滚动吗?是的,水平滚动一列。您必须保持任何垂直滚动同步-您可以使用addAdjustmentListener来执行此操作。使左侧“列”宽度可调在这里有点棘手-您必须实现一个与JList宽度交互的拖动处理程序。值得一提的是,使用两个jtable可能更容易做到这一点,然后添加一个侦听器来检测列宽的变化。