Java 通过JTable中的列标题确定列名

Java 通过JTable中的列标题确定列名,java,header,jtable,Java,Header,Jtable,是否有任何方法可以使用JavaJTable组件通过列标题确定列名?例如,我可以有像“header”这样的列标题和列名称“column”。我正在寻找一种方法,如Column_Name_From_Header(“Header”)->“Column”。如果您有对JTable的引用,那么获取列名的最简单方法是从底层表格模型中获取它;e、 g JTable tbl = ... String colName = tbl.getModel().getColumnName(10); 这通常是可取的,因为使用模

是否有任何方法可以使用Java
JTable
组件通过列标题确定列名?例如,我可以有像“header”这样的列标题和列名称“column”。我正在寻找一种方法,如Column_Name_From_Header(“Header”)->“Column”。

如果您有对
JTable
的引用,那么获取列名的最简单方法是从底层
表格模型中获取它;e、 g

JTable tbl = ...
String colName = tbl.getModel().getColumnName(10);

这通常是可取的,因为使用模型索引而不是视图索引进行访问。这意味着,例如,如果您使用JTable的列,则模型中的列名仍将具有相同的可预测顺序。

如果您引用了
JTable
,则获取列名的最简单方法是从基础
表模型中获取它;e、 g

JTable tbl = ...
String colName = tbl.getModel().getColumnName(10);


这通常是可取的,因为使用模型索引而不是视图索引进行访问。这意味着,例如,如果使用JTable的列,则模型中的列名仍将具有相同的可预测顺序。

遍历表的列模型中的表列。找到具有给定标题值的一个(使用
headerValue.equals(tableColumn.getHeaderValue()
)。然后询问列的
modelIndex
tableColumn.getModelIndex()
),并询问表的模型以获取此索引处的列名:
tableModel.getColumnName(index)

遍历表的列模型的表列。找到具有给定标题值的列(使用
headerValue.equals(tableColumn.getHeaderValue()
)。然后询问列的
modelIndex
tableColumn.getModelIndex()
),并询问表的模型在此索引处的列名:
tableModel.getColumnName(index)

您所说的“name”是什么意思?为了更快地获得帮助,请发布一个。示例见第一个答案。JTable tbl=…String colName=tbl.getModel().getColumnName(10);但这里有一个来自整数值的ColumnName-column number。不知道为什么需要这个值,不管怎样,为什么需要知道“name”是什么意思?为了更快地获得帮助,请发布一个。示例见第一个答案。JTable tbl=…String colName=tbl.getModel().getColumnName(10);但是这里有一个来自整数值的ColumnName-column number。不知道为什么需要这个值,不管怎样,为什么需要知道,嗯,是的。但是在这个示例中,我们有一个getColumnName方法,它使用整数作为输入返回列名(例如10)。不是列标题的字符串值。@Max:我不太明白-您有一个字符串,想要取回一个字符串?如果不是列名,那么标题是什么?列标题是数据加载到表中时所看到的。当您在程序中查看表时。例如,“Apples”。列名是一个内部变量名,如“Apples\u 1”.这就引出了一个问题。你(认为你)为什么需要这些信息吗?我正在尝试搜索表列。我需要将其中一些列从搜索集中排除。但我不想使用静态列索引进行硬编码。这就是为什么。是的。但在本例中,我们有一个getColumnName方法,该方法使用整数作为输入返回列名(例如10)。不是列标题的字符串值。@Max:我不太明白-您有一个字符串,想要取回一个字符串?如果不是列名,那么标题是什么?列标题是数据加载到表中时所看到的。当您在程序中查看表时。例如,“Apples”。列名是一个内部变量名,如“Apples\u 1”.这就引出了一个问题。你(认为你)为什么需要这些信息吗?我正在尝试搜索表列。我需要将其中一些列从搜索集中排除。但我不想使用静态列索引进行硬编码。这就是为什么。听起来很合理。我是Java新手。我现在将尝试实现此逻辑。我将稍后发布结果。请注意,与其他人一样,我想知道为什么你需要这样一个东西。这可能表明你对你的程序有一些误解。听起来很合理。我是Java新手。我现在会尝试实现这个逻辑。我稍后会发布结果。请注意,和其他人一样,我想知道你为什么需要这样一个东西。这可能表明你对你的程序有一些误解。