JTable包含来自属性文件的数据

时间:2016-01-05 15:17:31

标签: java swing properties jtable

我有简单的JTable对象,有2列。我想在这里放置来自file.properties的值,但我不知道这是怎么做的。

例如file.properties如下:

some1.text1=Text1
some1.text2=Text2
some2.text1=Text_1
some2.text2=Text_2

现在我想将这些数据添加到TableModel中(这是来自swing的示例):

Object rowData[][] = { { some1.text1, some2.text1 }, ... };

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您不会创建二维数组,因为您可能不知道有多少属性。

相反,您将为每个属性创建一行数据,然后将该行添加到DefaultTableModel。基本逻辑将是:

String columnNames = { "Column1", "Column2" };
DefaultTableModel model = new DefaultTableModel(columnNames, 0);

for (each property pair)
{
    Vector<String> row = new Vector<String>(2);
    row.addElement( get first value );
    row.addElement( get second value );
    model.addRow( row );
}

JTable table = new JTable( model );

答案 1 :(得分:0)

我找到了一种使用&#39; new Property()&#39;

的方法

这是我的文件.propertieswell,但现在我感兴趣的是其他的东西。如何以其他方式读取我的文件,例如我的file.property看起来像:

some.1.name=...
some.1.value=...
some.2.name=...
some.2.value=...

我可以像这样阅读每一个

@ResourceBundleBean(key="some.1.name")
private String some_1_name;
@ResourceBundleBean(key="some.1.value")
private String some_1_value;

等...

但是,如果有可能只使用一个字符串字段用于名称和值(值也是字符串)或只有1个字符串字段来获取每个属性some.1。 some.2。等,从这个字段名称和值得到?

例如,如果我的file.properties只包含许多名称/值的项目,如:

some.1.name=...
some.1.value=...
...
some.200.name=...
some.200.value=...

我不想创建200个字段来执行此操作。可能吗? 或者,如果不可能,我如何从属性读取数组? 而不是上层属性使这样的一些:

some.[1].name=n1
some.[1].value=v1
...
some.[200].name=n200
some.[200].value=v200

如何读取此数组以将其用于输出,例如:

n1 - v1
...
n200 - v200