Заполнение JTable из массива, который парсится
Запутался совсем, как заполнить таблицу данными? Проблема с заполнением data в классе News
public class News {
public static String[] col = {"№", "Smi", "Title", "Link", "Description"};
public static String[][] data;
public static void main(String[] args) throws IOException {
new Window();
}
public static void readRSS() {
try {
for (i = 0; i < sources.length; i++) {
RSSFeedParser parser = new RSSFeedParser(sources[i]);
if (isStop.get()) return;
Feed feed = parser.readFeed();
for (FeedMessage message : feed.getMessages()) {
j++;
if (message.toString().indexOf(Window.find_word) >= 1) {
titleTable = message.getTitle();
linkTable = message.getLink();
descrTable = message.getDescription();
data = new String[feed.getMessages().size()][col.length];
for (int x = 0; x < feed.getMessages().size(); x++){
data[x][0] = String.valueOf(x);
data[x][1] = smi;
data[x][2] = titleTable;
data[x][3] = linkTable;
data[x][4] = descrTable;
}
таблица в другом классе WindowЕсли ставлю News.data то exception NullPointer
//Table
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(10, 40, 874, 300);
getContentPane().add(scrollPane);
String[][] data = { {null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null}
};
table = new JTable(data, News.col);
table.setBackground(new Color(194, 239, 194));
scrollPane.setViewportView(table);
Ответы (1 шт):
Автор решения: mrprogre
→ Ссылка
Как всегда почитал какой я тупой на форумах..спасибо.. благодаря Вам и учимся!
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(10, 40, 874, 300);
getContentPane().add(scrollPane);
String[] columns = {"Title", "Author", "Description", "Date", "Feed"};
model = new DefaultTableModel(null, columns);
table = new JTable(model);
scrollPane.setViewportView(table);
String[] row = new String[]{
message.getTitle(),
message.getLink(),
message.getDescription()
};
Window.model.addRow(row);