带有属性文件中数据的JTable



我有一个带有2列的简单JTable对象。我想把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 }, ... };

我该怎么做?

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

相反,您将为每个属性创建一行数据,然后将该行添加到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 );

我找到了一种使用"new Property()"实现此目的的方法

这很好地阅读了我的file.properties,但现在我对其他内容很感兴趣。我如何用其他方式读取我的文件,例如我的file.properties看起来像:

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;

等等。。。

但是,如果有可能只使用一个String字段来表示名称和值(value也是String),或者只使用1个字符串字段来获得每个属性的值。some.2.etc,并从该字段中获取名称和值?

例如,如果我的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

最新更新