java - 按标题引用列

标签 java swt

我有一个表,目前有 11 列。 随着程序的发展,我发现自己需要添加更多列。

我这样做的问题是,如果我在位置 5 添加一个新列,我需要更改在第 6、7、8 列等中设置数据的代码。

我这样设置列标题:

String[] titles = { "Date", "Condition", "Weight", "Pos", "Distance",
            "Margin", "Time", "200m", "PIR", "Jockey", "Track" };

for (int i = 0; i < titles.length; i++) {
     TableColumn column = new TableColumn(table, SWT.NONE);
     column.setText(titles[i]);
}

所以现在我在做:

item.setText(0, meetingDate[i]);
item.setText(1, trackCondition[i]);
item.setText(2, weight[i]);
item.setText(3, position[i]);

我想做的是这样的:

item.setText(colMeetingdate, meetingDate[i]);
item.setText(colTrackCond, trackCondition[i]);
item.setText(colWeight, weight[i]);
item.setText(colPos, position[i]);

是否有一种标准的方式来命名/引用列?

最佳答案

没有内置的方法可以做到这一点。我能想到的最简单的解决方案是将您的列标题保留在 List 中(我们称之为 tableHeaders)并根据需要插入/删除。

要获取索引,只需执行以下操作:

int index = tableHeaders.indexOf("headerString");

if(index != -1)
    item.setText(index, blabla[i]);

此解决方案假定用户无法对您的表格列重新排序。

关于java - 按标题引用列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25201285/

相关文章:

java - 使用SWT进行多 View 应用;类似于Android的Activity生命周期

java - Java 相对路径文件创建中的奇怪行为

java - 通过java代码将文件放入jre bin中

java - SWT 文本组件不会水平填充

java - 如何将进度条同步到数据?

JAVA:SWT文本+鼠标监听器

java - 如果它是最终的那么为什么要放静态的?

java - DatePickerDialog setMaxDate 多显示一个月零一天

java - java.net.URL 的本地文件协议(protocol)

eclipse - 在 SWT 插件中打包 GDAL JAVA 绑定(bind)和 native 库