2016-01-05 2 views
-1

У меня есть простой объект JTable с 2 столбцами. Я хочу поставить здесь значения от file.properties, но я не знаю, как это сделать.JTable с данными из файла свойств

Например file.properties выглядит следующим образом:

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

А теперь я хочу, чтобы добавить эти данные в TableModel как это (это, например, из качелей):

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

Как я могу это сделать?

+2

* «Как я могу это сделать?» * Что есть вы ** пробовали? ** SO не является кодирующим сервисом или справочной службой. –

ответ

1

Вы бы не создали 2-мерный массив, так как вы не знаете, сколько у вас свойств.

Вместо этого вы должны создать одну строку данных для каждого свойства, а затем добавить строку в 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); 
0

Я нашел один способ сделать это, используя «новое свойство()»

Это прочитал мой file.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; 

и т.д ...

Но если есть возможность использовать только одно поле String для имени и значения (значение равно String) ИЛИ только 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 
Смежные вопросы